必威电竞|足球世界杯竞猜平台

QML
來源:互聯網

QML是一種描述性的腳本語言,文件格式以.qml結尾。語法格式非常像層疊樣式表(參考后文具體例子),但又支持ECMAScript形式的編程控制。我個人認為它結合了QtDesigner UI和QtScript的優點。QtDesigner可以設計出·ui界面文件,但是不支持和Qt原生C++代碼的交互。QtScript可以和Qt原生代碼進行交互,但是有一個缺點,如果要在腳本中創建一個繼承于QObject的圖形對象非常不方便,只能在Qt代碼中創建圖形對象,然后從QtScript中進行訪問。而QML可以在腳本里創建圖形對象,并且支持各種圖形特效,以及狀態機等,同時又能跟Qt寫的C++代碼進行方便的交互,使用起來非常方便。

來源

QML是Qt推出的Qt Quick技術的一部分,是一種新增的簡便易學的語言。QML是一種陳述性語言,用來描述一個程序的用戶界面:無論是什么樣子,以及它如何表現。在QML,一個用戶界面被指定為具有屬性的對象樹。這使得Qt更加便于很少或沒有編程經驗的人使用。

QML實際上是Qt Quick (Qt4.7.0中的新特性)核心組件之一:Qt Quick是一組旨在幫助開發者創建在移動電話,媒體播放器,機頂盒和其他便攜設備上使用越來越多的直觀、現代、流暢UI的工具集合。

舉例

ECMAScript在QML中作為一種腳本語言,對QML進行邏輯方面的編程。例如:

Rectangle {

id: rect

color: "黑色"

// following italic type code is javascript

歡樂.樂團ction fun() {

if(rect.color == "black") {

rect.color = "紅色"

}

else {

rect.color = "black"

}

}

.....

家鼠Area {

id: mouse

onClicked: {

歡樂.樂團()

}

}

.....

}

上面斜體代碼就是ECMAScript,意思是,當方塊顏色是黑色的時候點擊就變紅,反之變黑。你可能想先多了解一下JavaScript,然后再深入學習QML,而對類似于HTML層疊樣式表等網絡技術有一些基本理解也是有用的。但它們都不是必需的。

參考資料 >

生活家百科家居網