此处描述了如何在用户单击按钮后打开新窗口:
https://stackoverflow.com/a/21414775/1898982
在这里:
https://stackoverflow.com/a/13519181/1898982
class Form1(QtGui.QWidget, Ui_Form1):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setupUi(self)
self.button1.clicked.connect(self.handleButton)
self.window2 = None
def handleButton(self):
if self.window2 is None:
self.window2 = Form2(self)
self.window2.show()
class Form2(QtGui.QWidget, Ui_Form2):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setupUi(self)
我想开发一个包含几个步骤的GUI应用程序。用户单击下一步后,当前窗口关闭,另一个窗口打开。从技术上讲,我可以像上面描述的那样做:每个窗口打开一个新窗口。经过几个步骤后,这几乎是嵌套的。
有更好的方法吗?
我想在我的主要控制流程。像这样:
main()
window1 = win2()
window1.show()
wait until button in window1 is clicked, then
window1.close()
window2 = win2()
window2.show()
wait until button in window2 is clicked, then
window1.close()
....
答案 0 :(得分:0)
Qt为此类案例提供了特殊的小部件,称为QWidget。看它。它也可以在Qt4中使用。
答案 1 :(得分:0)
我建议使用QWizard
或QStackedWidget
类来执行此任务。您可以使用这两个类中的任何一个轻松切换小部件或窗口。请参阅QWizard和QStackedWidget文档。