QT視窗不使用布局實現自適應不同解析度的螢幕

2021-10-03 04:41:18 字數 1164 閱讀 5228

desktop()

;//獲取程式的桌面資訊

qrect screwnrect = desktopwidget-

>

screengeometry()

;int screenx = screenrect.

width()

;//螢幕的寬度

int screeny = screenrect.

height()

;//螢幕的高度

double scalex = screwnx/

1920.0

;//此時螢幕寬對比正常1920的倍數

double scaley = screen/

1080.0

;//此時螢幕高對比正常1080的倍數

//然後按照倍數去移動位置以及調整大小

ui->widgetmain-

>

move

(452

*scalex,

180*scaley)

;//(452,180)是1920*1080螢幕上的座標

ui->wigetmain-

>

resize

(1013

*scalex,

681*scaley)

;//1013和681是1920*1080螢幕上的寬和高

控制項多的時候可以使用findchildren獲取每一種控制項的列表,迴圈設定會方便許多,參考

qlist> buttonlist = ui-

>widget-

>findchildren>()

;for

(auto it=buttonlist.

begin()

;it!=buttonlist.

end(

);it++

)

介面沒有什麼需要特別去自適應的時候,可以直接獲取所有的qwidget型別控制項,這樣包括qpushbutton、qlabel、qlineedit等派生型別控制項

qlist> widgets= ui-

>widget-

>findchildren>()

;foreach

(auto w,widgets)

rem布局實現不同解析度移動終端的自適應 整體縮放

現在手機螢幕解析度越來越多,但我們的需求比較唯一 最佳視覺。當使用者瀏覽網頁時,根據螢幕的尺寸,來向使用者展示更適合使用者的布局 文字 按鈕等等,因此,rem應運而生。rem font size of the root element 是指相對於根元素的字型大小的單位。一旦根節點html 定義的 f...

rem布局實現不同解析度移動終端的自適應 整體縮放

為了讓我們用html5畫出來的介面在各種移動端都可以自適應比例,我們採用頁面尺寸樣式採用rem布局,以適應各種移動終端的顯示。假如我們以蘋果6寬度畫素的尺寸作為標準 750,以750設計稿為例。第一步 設定初始rem htmlps 100vw是裝置的寬度,除以7.5可以讓1rem的大小在iphone...

QT 自適應不同解析度顯示器

在不同解析度的電腦上執行同乙個qt程式,有時會出現軟體窗體太小或太大的問題,顯然設定單一固定的視窗尺寸是不合適。雖然視窗可以設定手動拉伸縮放,但為了軟體一開啟就以合適的大小顯示,就必須根據顯示器的解析度做調整。1.要做到自適應顯示,首先ui設計時就需要對各個控制項進行布局設定,即充分利用下面這些qt...