有時(shí)候布局中的控件無法完全表明,或是我希望子控件能臨時(shí)占有更多表明室內(nèi)空間,最后我們需要使用另一個(gè)布局管理方法分割器。
當(dāng)鼠標(biāo)移動(dòng)到子控件間的間隔線時(shí),電腦鼠標(biāo)就會(huì)變成下列樣子
3.3.1 QSplitter1 childrenCollapsible 子控件能不能伸縮?
2 handleWidth 分割線總寬。
3 opaqueResize 是不是馬上更改尺寸。
true-默認(rèn)設(shè)置前提下,當(dāng)拖拽分割線時(shí),控件隨分割線運(yùn)行。false-拖拽分割線時(shí),僅有分割線挪動(dòng),松掉電腦鼠標(biāo)后,控制器才可以更改尺寸。4 orientation 切分方位,水準(zhǔn)或豎直。
3.3.2.1 saveState()和restoreState()
維持系統(tǒng)狀態(tài)和修復(fù)之前情況。在我們應(yīng)用分割器時(shí),很多控制器大小會(huì)發(fā)生改變,當(dāng)我們要想修復(fù)一定的狀態(tài)下,大家可以用這倆函數(shù)公式。
如果你開發(fā)軟件再度打開后,要想恢復(fù)正常上一次的布局界面,那也可以用這倆函數(shù)公式,隱私功能,我在下文的事例中來給大家演試。
3.3.2.2 sizes()和setSizes()
在分割器中獲得和設(shè)定每一個(gè)控件的間距或高度。
假如分割器是水準(zhǔn)的,則每一個(gè)控制器的總寬將從左往右設(shè)定。假如分割器是垂直,則每一個(gè)控制器的高度將從上向下設(shè)定。
頁面上的附加值被忽略了。假如頁面上數(shù)值過小,則結(jié)論不界定,但程序流程依然非常好。
分割器整體的規(guī)格影響不大。反過來,控件中分布著一切附加/缺乏的室內(nèi)空間,依據(jù)的尺寸相對(duì)性凈重(伸縮式因素)。
若特定規(guī)格為0,則控件將看不到。
保存控件尺寸對(duì)策。也就是說,低于控件較小的規(guī)格提醒值要被提醒值所替代。
3.3.3.1 顯隱控件
當(dāng)掩藏一個(gè)控件時(shí),它室內(nèi)空間將分給別的控件。當(dāng)它們?cè)俣缺砻鲿r(shí),這將被修復(fù)。
3.3.3.2 布局器與分割器對(duì)比
在QSplitter不可以直接加上QLayout是的,主要是因?yàn)镼Splitter承繼自QFrame的,而QLayout承繼自QObject和QLayoutItem是的,布局是一套優(yōu)化算法,QSplitter是對(duì)話框控件,無法直接加上,僅有布局才可以加上子布局。
由于QSplitter是窗子控制器,完全可以用setLayout()進(jìn)而使QSplitter做為QLayout成員變量進(jìn)而使用addWidget()取代。