在这里,我正在使用该
show方法。
这是一个工作示例(来自您的示例):
#!/usr/bin/env python# -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCoreimport sysclass Second(QtGui.QMainWindow): def __init__(self, parent=None): super(Second, self).__init__(parent)class First(QtGui.QMainWindow): def __init__(self, parent=None): super(First, self).__init__(parent) self.pushButton = QtGui.QPushButton("click me") self.setCentralWidget(self.pushButton) self.pushButton.clicked.connect(self.on_pushButton_clicked) self.dialog = Second(self) def on_pushButton_clicked(self): self.dialog.show()def main(): app = QtGui.QApplication(sys.argv) main = First() main.show() sys.exit(app.exec_())if __name__ == '__main__': main()如果每次单击按钮都需要一个新窗口,则可以更改在
on_pushButton_clicked方法内部创建对话框的代码,如下所示:
#!/usr/bin/env python# -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCoreimport sysclass Second(QtGui.QMainWindow): def __init__(self, parent=None): super(Second, self).__init__(parent)class First(QtGui.QMainWindow): def __init__(self, parent=None): super(First, self).__init__(parent) self.pushButton = QtGui.QPushButton("click me") self.setCentralWidget(self.pushButton) self.pushButton.clicked.connect(self.on_pushButton_clicked) self.dialogs = list() def on_pushButton_clicked(self): dialog = Second(self) self.dialogs.append(dialog) dialog.show()def main(): app = QtGui.QApplication(sys.argv) main = First() main.show() sys.exit(app.exec_())if __name__ == '__main__': main()


