import sys
from PyQt4 import QtCore, QtGui
from test_ui import Ui_MainWindow
class StartQt4(QtGui.QMainWindow):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self)
self.ui=Ui_MainWindow()
self.ui2=Ui_MainWindow()
self.ui2.setupUi(self) # ui2 setup
self.ui.setupUi(self) # ui setup .interchanging these 2 lines gives 2 guis
QtCore.QObject.connect(self.ui.button_open,QtCore.SIGNAL("clicked()"),self.file_open)
def file_open(self):
self.ui.editor_window.setText('Yes u are doing good')
if __name__ == "__main__":
app=QtGui.QApplication(sys.argv)
myapp=StartQt4()
myapp.show()
sys.exit(app.exec_())
开2个GUI窗口试图创建简单PyQt4的gui.My目标在时间打开两个GUI窗口,并因此创建的2个对象ui
ui2
。通过交换该被注释的线,它工作得很好,2个窗口被打开。但是当我离开它时,只有ui
对象窗口被打开。如何可能。他们只是在显示之前在不同时间调用的方法(myapp.show()
)是正确的?刚开始学习pyqt4。PyQt4中:无法在时间
这些方法('.setupUi()')正在传递'self'参数,这意味着它们可能正在修改您的'StartQT4'类实例。您需要在不同的类中创建多个窗口并单独显示它们。 – Blender