-
大小: 2.11KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2024-05-11
- 語(yǔ)言: Python
- 標(biāo)簽: 動(dòng)態(tài)窗體??鑲嵌窗體??窗體??UI窗體??
資源簡(jiǎn)介
:
最近因開發(fā)軟件需要?jiǎng)討B(tài)加載一些窗體并鑲嵌到主窗體。在查相關(guān)博客及網(wǎng)站資料后,發(fā)現(xiàn)大部分介紹都是將UI文件轉(zhuǎn)換成.py文件后再進(jìn)行鑲嵌。他們的代碼太多太雜,并包含了很多無關(guān)緊要的代碼,部分代碼我沒看懂。。。因此通過現(xiàn)有的資料和實(shí)際,經(jīng)過幾天修改,幾行代碼就可以輕松實(shí)現(xiàn)。不用將UI文件轉(zhuǎn)換成PY文件,直接使用,代碼簡(jiǎn)單,修改隨意。UI文件和代碼文件一起打包。主窗體的UI文件在布局上沒有仔細(xì)布局。
代碼片段和文件信息
import?sys
from?PyQt5.Qt?import?*
from?PyQt5.QtWidgets?import?*
from?PyQt5?import?uic??#?動(dòng)態(tài)加載窗體引用
def?btn_win1():
????ui_win1.label.setText(‘我是第一個(gè)窗口‘)
def?btn_win2():
????ui_win2.label.setText(‘我是第二個(gè)窗口‘)
if?__name__?==?“__main__“:
????app?=?QApplication(sys.argv)
????#?1、動(dòng)態(tài)UI窗體操作實(shí)例
????ui?=?uic.loadUi(‘11.ui‘)
????ui_win1?=?uic.loadUi(‘1.ui‘)
????ui_win1.setstyleSheet(“background-color:red;“)
????ui_win1.btn.clicked.connect(btn_win1)??#?綁定加載窗體事件
????ui_win2?=?uic.loadUi(‘2.ui‘)
????ui_win2.setstyleSheet(“background-color:green;“)
????ui_win2.tbn.clicked.connect(btn_win2)??#?綁定加載窗體事件
????#?啟動(dòng)窗體后?默認(rèn)加載win2窗體到hbox布局中
????ui.ui_hbox.addWidget(ui_win2)
????#?給主窗體按鈕添加事件
????ui.btn_1.clicked.connect(
????????lambda:?(
?????????????????ui.ui_hbox.itemAt(1).widget().setParent(None)??#?先將hbox布局中的窗體設(shè)置為None
?????????????????ui.ui_hbox.insertWidget(1?ui_win1)??#?再將hbox處插入一個(gè)我們希望顯示的窗體
????????????????)
????)
????ui.btn_2.clicked.connect(
????????lambda:?(
??????????????ui.ui_hbox.itemAt(1).widget().setParent(None)
??????????????ui.ui_hbox.insertWidget(1?ui_win2)
????????????????)
????)
????ui.show()
????sys.exit(app.exec_())
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1388??2020-11-05?15:33??窗體鑲嵌.py
?????文件????????972??2020-11-05?15:19??1.ui
?????文件????????988??2020-11-05?15:19??2.ui
?????文件???????2000??2020-11-05?15:21??11.ui
-----------?---------??----------?-----??----
?????????????????5348????????????????????4
評(píng)論
共有 條評(píng)論