我目前正在尝试使用Python和PyQt4(而不是Qt Designer)创建一个程序。
我创建了一个登录类(QDialog)和一个主页类(QMainWindow)。然而,由于我的程序将包含大量页面(通过程序导航将变得复杂),我想知道如何在QMainWindow中切换布局,而不是不断创建新窗口并关闭旧窗口。例如,一旦登录,我会将MainWindow(“HomePage”)布局设置为默认屏幕,然后在MainWindow内部创建一个子类,允许我导航到用户设置(或任何其他页面)。有没有一种方法可以将MainWindow布局切换到用户设置布局而不是创建新窗口并关闭MainWindow?(如果这不太清楚,请原谅,我是PyQt的新手)。
下面是示例代码(基本代码)
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class MainWindow(QMainWindow):
#Constructor
def __init__(self):
super(MainWindow, self).__init__() #call super class constructor
button1 = QPushButton("User Settings", self)
button1.clicked.connect(UserSelection)
button1.resize(50,50)
button1.move(350,50)
self.show()
class UserSelection(?):
...
def main():
app = QApplication(sys.argv) #Create new application
Main = MainWindow()
sys.exit(app.exec_()) #Monitor application for events
if __name__ == "__main__":
main()