Ui_MainWindow 没有属性 'show'
Ui_MainWindow has no attribute 'show'
我正在编写一个包含多个 windows 的程序。我有一个调用 Ui 文件(已转换为 .py)的主程序(已附加)。主 window 和自定义 window 正确打开(列出的前两个)但第三个或第四个 windows 都没有正确打开,给我错误
'Ui_MainWindow' object has no attribute 'show'
主程序;
from PyQt4 import QtCore, QtGui
import sys
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mainwin = main_menu_ui.Ui_MainWindow()
mainwin.show()
sys.exit(app.exec_())
def openCustomise(self):
customiseOpen = question_set_menu_ui.Ui_MainWindow()
customiseOpen.show()
sys.exit(app.exec_())
def openQuiz(self):
quizOpen = quiz_window_ui.Ui_MainWindow()
quizOpen.show()
sys.exit(app.exec_())
def addNewSet(self):
addNewOpen = question_set_edit_ui.Ui_MainWindow()
addNewOpen.show()
sys.exit(app.exec_())
抱歉,如果我遗漏了一些明显的东西,我正在学习 Qt/Python 大学。
您正在导入的自动生成的 UI class 扩展 object
并且没有 show
方法(自己打开 .py 文件并验证这一点)。
一般来说,您应该像这样构建 GUI:
from PyQt4 import QtCore, QtGui
import sys
from layout_file import main_menu_ui
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = main_menu_ui()
self.ui.setupUi(self)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mainwin = MyForm()
mainwin.show()
sys.exit(app.exec_())
您从自动生成的 UI 文件导入 UI。您有一个包含 GUI 逻辑的 class。然后,它会在其 __init__()
方法中根据您导入的 UI 设置您的 UI 布局。
我正在编写一个包含多个 windows 的程序。我有一个调用 Ui 文件(已转换为 .py)的主程序(已附加)。主 window 和自定义 window 正确打开(列出的前两个)但第三个或第四个 windows 都没有正确打开,给我错误
'Ui_MainWindow' object has no attribute 'show'
主程序;
from PyQt4 import QtCore, QtGui
import sys
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mainwin = main_menu_ui.Ui_MainWindow()
mainwin.show()
sys.exit(app.exec_())
def openCustomise(self):
customiseOpen = question_set_menu_ui.Ui_MainWindow()
customiseOpen.show()
sys.exit(app.exec_())
def openQuiz(self):
quizOpen = quiz_window_ui.Ui_MainWindow()
quizOpen.show()
sys.exit(app.exec_())
def addNewSet(self):
addNewOpen = question_set_edit_ui.Ui_MainWindow()
addNewOpen.show()
sys.exit(app.exec_())
抱歉,如果我遗漏了一些明显的东西,我正在学习 Qt/Python 大学。
您正在导入的自动生成的 UI class 扩展 object
并且没有 show
方法(自己打开 .py 文件并验证这一点)。
一般来说,您应该像这样构建 GUI:
from PyQt4 import QtCore, QtGui
import sys
from layout_file import main_menu_ui
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = main_menu_ui()
self.ui.setupUi(self)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mainwin = MyForm()
mainwin.show()
sys.exit(app.exec_())
您从自动生成的 UI 文件导入 UI。您有一个包含 GUI 逻辑的 class。然后,它会在其 __init__()
方法中根据您导入的 UI 设置您的 UI 布局。