天天看點

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

幾乎所有的GUI界面都需要用到這個場景:在一個界面裡面,點選不同的按鈕顯示不同的内容

在Qt設計師中沒有堆疊布局,需要我們手動添加

在Qt設計師中,設計3個切換的頁面,和一個主界面。

注意在主界面是兩個

frame

控件的水準布局

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

将所有界面的

ui

檔案轉換成

py

檔案

木子-李:PyCharm中Qt Designer+PyUIC配置​zhuanlan.zhihu.com

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

在主界面編寫以下代碼

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

self.qsl = QStackedLayout(self.frame_2)

将堆疊布局設定給主窗體的self.frame_2容器

三個按鈕信号都綁定一個槽函數

show_panel

self.sender().objectName()

擷取目前點選按鈕的名稱,結合字典獲得索引

self.qsl.setCurrentIndex(index)

通過索引設定堆疊布局展示的頁面

最後效果

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)

上案例:仿金山詞霸做的一個GUI

designer pyqt5 界面切換_PyQT5堆疊布局:切換界面(QStackedLayout)