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...