1. 程式人生 > >QT QSplitter隨視窗自適應大小(Autosize)

QT QSplitter隨視窗自適應大小(Autosize)

最近在使用Qt做一些東西,中間遇到一些問題,記錄之,希望能幫助到其他遇到此類問題的朋友。
1. QSplliter充滿整個窗體,隨著父窗體的大小而自動改變大小。
在Qt Creator中的Design檢視中,拖拽兩個控制元件到centralWidget,然後同時選中這兩個Widget選擇工具藍中的Lay Out Horizontally in Splitter,這樣就將兩個Widget放到了一個Splitter中了,如下圖:
這裡寫圖片描述
但是執行程式發現,QSplliter只有這麼大,不能充滿整個centerWidget,而且不隨著centerWidget的縮放而縮放。
解決辦法:
在centerWidget空白區域郵件,選擇Lay Out給MainWindows設定一個Layout就好了,我這裡選擇Lay Out Horizontally。如下圖:
這裡寫圖片描述


2. 設定QSplliter左右控制元件的大小比例。
控制左右控制元件大大小,我不知道在Qt的Designer中怎麼設定,我是在程式碼中進行設定的。
在MainWindows的建構函式中使用setStretchFactor函式進行設定如下:
這裡是1:8的比例

ui->splitter->setStretchFactor(0, 1);
ui->splitter->setStretchFactor(1, 8);