程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> QML 從無到有 2,qml從無到有

QML 從無到有 2,qml從無到有

編輯:C++入門知識

QML 從無到有 2,qml從無到有


隨著項目深入,需要移植到安卓上,問題來了,QML安卓適配!

幸好PC端程序和手機屏幕長寬比例相似。雖然單位像素,尺寸不同,通過比例縮放,可以實現組件PC和安卓通用代碼。

第一步:定義全局的轉換函數(300,500是你的PC端設計尺寸)

 1 property var x_scale:mainWindow.width/300
 2 property var y_scale:mainWindow.height/500
 3 
 4 function get_x(x)
 5 {
 6     return x*x_scale;
 7 }
 8 function get_y(y)
 9 {
10     return y*y_scale;
11 }

第二步:將所有相關尺寸的都通過上面的轉換函數計算新值

1 Text {
2         id:nameText
3         x:get_x(8)
4         y:get_y(11)
5         width:get_x(80)
6         horizontalAlignment:Text.AlignRight
7         color: "#000000"
8         text: ""
9     }

第三步:對於有些控件,安卓和PC端表現形式不一樣,需要通過判斷平台,額外定義。判斷平台代碼

function is_android()
{
    return (Qt.platform.os == "android");
}

//調用方法
Image {
        id: imageLogo
        y: get_y(58)
        width: get_x(167)
        height: get_y(70)
        anchors.horizontalCenterOffset: is_android()?get_x(-8):get_x(-4)
        anchors.horizontalCenter: parent.horizontalCenter
        source: "logo.png"
    }

最後,對於字體的大小的適配,推薦使用pixelSize來定義,同樣需要轉換函數來計算新的尺寸,這樣可以跟其他控件保持一致。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved