3 回答

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
正確的答案是創(chuàng)建您的自定義布局管理器。通過子類化QLayout可以實(shí)現(xiàn)。
子類化QLayout時(shí)要實(shí)現(xiàn)的方法
將項(xiàng)目添加到布局。
返回項(xiàng)目數(shù)。
返回索引處的項(xiàng)目引用;如果沒有索引,則返回0。
從索引的布局中獲取并返回項(xiàng)目;如果沒有,則返回0。
返回布局?jǐn)U展方向。
告訴布局是否處理高度以進(jìn)行寬度計(jì)算。
返回布局的最小尺寸。
設(shè)置布局的幾何形狀以及其中的項(xiàng)目。在這里,您必須保持縱橫比并進(jìn)行居中。
返回布局的首選大小。

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
resize()
從內(nèi)部resizeEvent()
進(jìn)行調(diào)用對(duì)我而言從來沒有奏效-充其量會(huì)導(dǎo)致閃爍,因?yàn)榇翱趦纱握{(diào)整大?。ㄈ缒福?,最糟糕的是無限循環(huán)。
我認(rèn)為保持固定長(zhǎng)寬比的“正確”方法是創(chuàng)建自定義布局。您將只需要覆蓋兩個(gè)方法QLayoutItem::hasHeightForWidth()
和QLayoutItem::heightForWidth()
。
- 3 回答
- 0 關(guān)注
- 1619 瀏覽
添加回答
舉報(bào)