加載窗口
本節(jié)介紹一種在當(dāng)前窗口中嵌入另一種窗口的方法。
(1)首先使用Qt Designer 新建一個(gè)普通窗口,命名為“ChildrenForm2,并在ChildrenForm2中放置QTextEdit控件,如圖所示。

然后復(fù)制MainWindowBase.ui(上節(jié)內(nèi)容)并重命名為MainForm2.ui,使用 Qt Designer打開(kāi),在主窗口的空白中央添加一個(gè)柵格布局管理器并命名為“MaingridLayout”,等會(huì)需要將ChildrenForm2放進(jìn)去,如圖所示。

(2)使用pyuic工具將.ui文件轉(zhuǎn)換為.py文件。
(3)調(diào)用主窗口類(lèi)。為了實(shí)現(xiàn)調(diào)用代碼與界面的分離,需要新建一個(gè)文件CallMainWin02.py,直接繼承界面類(lèi)和主窗口類(lèi)。同理,子窗口類(lèi)ChildrenForm2的聲明也放在了調(diào)用類(lèi) CallMainWin02.py 文件中。其完整代碼如下:
運(yùn)行代碼,點(diǎn)擊添加窗體,顯示效果如下:

在這個(gè)例子中,當(dāng)單擊 MainWindow工具欄中的“添加窗體”按鈕時(shí),在主窗口 MainForm中會(huì)動(dòng)態(tài)加載子窗口 ChildrenForm2。
單擊工具欄上的按鈕時(shí),觸發(fā)信號(hào)綁定自定義的槽函數(shù)childShow()。
標(biāo)簽: