我目前正在嘗試使用python和PyQt4(而不是Qt Designer)創建一個程序。 我創建了一個登錄類(QDialog)和一個主類(QMainWindow)。然而,因爲我的程序將包含大量頁面(通過程序的導航會很大),我想知道如何在QMainWindow中切換佈局,而不是不斷創建新窗口並關閉舊窗口。例如,我會將MainWindow('HomePage')佈局設置爲默認屏幕,然後在MainWindow中有一個允許我導航到用戶設置(或任何其他頁面)的子類。而不是創建一個新窗口並關閉MainWindow,有沒有辦法讓我將MainWindow佈局交換到用戶設置佈局? (道歉,如果這沒有意義,即時通訊新的PyQt)。 示例代碼如下所示(V.Basic代碼)如何使用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()
你可以做到這一點通過更換你的QMainWindow的centralWidget。我會在幾分鐘內掀起一個例子。 – ivica