PyQt を使用してページをインポートし、Qt Designer を使用して作成された QStackedWidget に追加しようとしています。コンパイルされたページ コードやコンパイルされた MainWindow コードには触れたくないのです。MainWindow を正常に表示できますが、ページをインポートして QStackedWidget に追加できないようです。
私の MainWindow とページのコンパイル済みコードは次のようになります。
じぶんのmainWindow.py
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
...
じぶんのappInfoPage.py
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_appInfoPage(object):
def setupUi(self, appInfoPage):
appInfoPage.setObjectName(_fromUtf8("appInfoPage"))
...
私のmain.py
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from mainWindow import Ui_MainWindow
from appInfoPage import Ui_appInfoPage
class main(QMainWindow, Ui_MainWindow):
def __init__(self):
super(QMainWindow, self).__init__()
self.setupUi(self)
self.appInfoPage = Ui_appInfoPage()
self.appInfoPage.setupUi(self.appInfoPage)
self.stackedWidget.addWidget(self.appInfoPage)
self.stackedWidget.setCurrentWidget(self.appInfoPage)
if __name__ == '__main__':
application = QApplication(sys.argv)
window = main()
window.show()
sys.exit(application.exec_())
現在のコードではAttributeError: 'Ui_appInfopage' object has no attributes 'setObjectName'
エラーが発生し、self.appInfoPage.setupUi(self)
代わりに配置すると、ページが MainWindow に重なってしまいます。
どんな助けでも大歓迎です。