QT 分割視窗,並用dialog填充分割的子視窗

2021-07-28 20:40:15 字數 1204 閱讀 1881

網上很多

qsplitter的例子都是分割完的子視窗帶乙個edit控制項,list控制項,可專案需要子視窗用已有dialog進行填充,並能自由切換,遇到最鬱悶的問題是填充完後自定義的dialog不能充滿整個分割子視窗,現記錄下解決方案:

qsplitter*

mainsplitter;

qmainwindow

*mainqw;

pfrm=

newfrmfisetdlg();

mainsplitter

=new

qsplitter(qt::horizontal);

mainsplitter->addwidget(pfrm);

mainqw

=new

qmainwindow(this);

mainsplitter->addwidget(mainqw);

mainsplitter->setstretchfactor(1,

1);

setcentralwidget(mainsplitter);

qsplitterhandle

*splitterhandle=

mainsplitter->handle(1);

if(splitterhandle)

m_pdlgobj

=new

frmmaindlg(

mainqw

)//需要進行切換的dialog

setwindowflags(qt::customizewindowhint|qt::framelesswindowhint);//frmmaindlg建構函式中填加
//最重要的處理,讓dialog填充滿分割子視窗
if(m_pdlgobj

!=null

&&!m_pdlgobj->ishidden())

if

(m_pdlgobj

!=null)

Qt 之 Splitter分割視窗

中英文對照splitter handles 分隔條 乙個qsplitter控制項中可以包含其他控制項,這些控制項被乙個分隔條隔開,託拽這個分隔條,裡面的控制項的大小可以改變。qsplitter控制項經常做為布局管理器使用,給使用者提供更多的介面控制。qsplitter控制項中的子控制項總是按順序自動...

Qt學習 分割視窗QSplitter類

分割視窗在應用程式中經常用到,比如在類似資源管理器的視窗設計中 下面用 實現上面視窗的設計 1.建立專案時基類選擇qmainwindow,取消gernerate form核取方塊的選中狀態。2.在main.cpp中編寫如下 include include include int main int a...

Qt學習 分割視窗QSplitter類

分割視窗在應用程式中經常用到,比如在類似資源管理器的視窗設計中 下面用 實現上面視窗的設計 1.建立專案時基類選擇qmainwindow,取消gernerate form核取方塊的選中狀態。2.在main.cpp中編寫如下 view plain copy to clipboard print?inc...