![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYjdTOyQGZkJzNjZ2YzQ2YmNTY2Q2M0UDMkNWOjZzM58CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
幾乎所有的GUI界面都需要用到這個場景:在一個界面裡面,點選不同的按鈕顯示不同的内容
在Qt設計師中沒有堆疊布局,需要我們手動添加在Qt設計師中,設計3個切換的頁面,和一個主界面。
注意在主界面是兩個
frame
控件的水準布局
将所有界面的
ui
檔案轉換成
py
檔案
木子-李:PyCharm中Qt Designer+PyUIC配置zhuanlan.zhihu.com
在主界面編寫以下代碼
self.qsl = QStackedLayout(self.frame_2)
将堆疊布局設定給主窗體的self.frame_2容器
三個按鈕信号都綁定一個槽函數
show_panel
self.sender().objectName()
擷取目前點選按鈕的名稱,結合字典獲得索引
self.qsl.setCurrentIndex(index)
通過索引設定堆疊布局展示的頁面
最後效果
上案例:仿金山詞霸做的一個GUI