Qt 自適應視窗

2022-07-29 08:33:10 字數 968 閱讀 6411

關於視窗布局:

預設控制項的大小為最小尺寸:

如果此時右鍵設定布局時,視窗大小會自動縮放對應大小,不利於調整。

建議視窗控制項設定好最小尺寸,便於視窗布局時,控制項不會變形,例如:

改變minimumsize,會改變sizehint控制項預設尺寸;(測試於qt4)

結合控制項的sizepolicy屬性,來控制布局管理中的控制項的尺寸自適應方式。

控制項的sizepolicy說明控制項在布局管理中的縮放方式。qt提供的控制項都有乙個合理的預設sizepolicy,但是這個預設值有時不能適合所有的布局,開發人員經常需要改變窗體上的某些控制項的sizepolicy。

乙個qsizepolicy的所有變數對水平方向和垂直方向都適用。下面列舉了一些最長用的值:

a. fixed:控制項不能放大或者縮小,控制項的大小就是它的sizehint。

b. minimum:控制項的sizehint為控制項的最小尺寸。控制項不能小於這個sizehint,但是可以

放大。c. maximum:控制項的sizehint為控制項的最大尺寸,控制項不能放大,但是可以縮小到它的最小

的允許尺寸。

d. preferred:控制項的sizehint是它的sizehint,但是可以放大或者縮小

e. expandint:控制項可以自行增大或者縮小

注:sizehint(,如果控制項不在布局管理中就為無效的值)

要想實現隨著視窗自動縮放,很重要的一點是需要設定頂級布局,對於乙個視窗來說,只能有乙個布局成為它的頂級布局

在無控制項處右鍵-布局-在窗體布局中布局,然後在無控制項右鍵選擇-布局中設定水平或垂直。注:此時每個控制項的屬性為expandint時,會自動適應調整大小。

Qt視窗自適應子控制項方法

問題描述 qt介面存在自適應大小問題,當介面部分子控制項隱藏或者展示就會存在部分空白,需要自適應,即當子控制項隱藏時收縮覆蓋,當子控制項顯示時擴大顯示,如果只採用qboxlayout,主介面只能擴大不能縮小 解決方案 1.採用setfixedsize qboxlayout方式 1.1 在介面顯示 隱...

自適應視窗元件

發現自帶的沒有這個元件自己就寫了乙個簡單的,後來才發現第三方有寫這個,看來是白寫了,下邊開源下原始碼 resizewindow.mxml是flex的元件介面直接用就可以了。如果想擴充套件的可以自己擴充套件下 支援拖拉,大小拖動 resizewindow.mxml resizewindow.as pa...

QT編寫視窗外掛程式,並實現呼叫視窗的自適應

目錄前言 效果編寫dll 編寫主程式 總結 編寫乙個dll,裡面包含乙個qdialog對話方塊作為主視窗。該dll提供四個介面,它們的作用分別是 1 開啟主視窗 2 關閉主視窗 3 更新外掛程式資料 暫不討論 4 呼叫外掛程式中的函式並獲取返回值 暫不討論 然後由主程式呼叫dll,並將dll中的視窗...