1. 程式人生 > >QT之QML控制元件篇

QT之QML控制元件篇

QT quick中提供了很多的實用控制元件widget,下面介紹幾種常用的。

這部分介紹基本是參照QtCretator提供的幫助文件,一定要學會使用,不明白的去查詢幫助。

Item

基本上所有的可是控制元件的基類都是Item,上節說過了QML的格式是以property:value的方式書寫,所以瞭解一個控制元件主要的就是了解它提供了哪些屬性properties和方法methods,屬性又可以分為預設default屬性、一般general屬性、附加attached屬性。

預設屬性只有一個就是data,value的型別時list<Object>
常用的一般屬性有x、y、z、width、height、visible、enabled、foucus、anchors、status等,更多請在QtCreateor幫助索引中輸入Item關鍵字查詢,對這些屬性過目一般,瞭解基本含義,有助於你使用其它繼承自Item的控制元件時,知道哪些屬性是繼承自Item的,哪些是這個控制元件提供的。
附加屬性常用的就是Keys,用來處理按鍵事件

此外當屬性發生變化時,一般會發出一個訊號,訊號處理器的格式是on{Propety}Changed

Rectangle

Rectangle顧名思義就是一個矩形,它是一個帶邊框可填充顏色的矩形區域。
它繼承自Item,它的屬性除了Item的屬性外,還有border、color、gradient、radius,還是那句話,具體含義和使用示例參考QtCreator幫助文件。

Text

Text就是文字啦,也是繼承自Item,它的屬性有text、color、font、style、wrapMode等,text支援html格式的字串解析。例如text: "<b>Hello</b> <i>World!</i>"

TextInput

TextInput是單行可編輯文字,主要屬性和Text差不多,此外有readOnly、accpetableInput、echoMode等屬性

TextEdit

TextEdit是多行可編輯文字區,和TextInput的屬性差不多

Image

Image就是圖片啦,同樣繼承自Image,它的主要屬性有source、sourceSize、fillMode、status等

MouseArea

MouseArea繼承自Item,但它不是可見的,一般包含在其他控制元件中用來輔助處理滑鼠事件,它的主要屬性有enabled、mouseX、mouseY、containsMouse、pressed、drag、cursorShape等,主要的訊號有clicked、pressed、released、positonChanged、entered、exited、doubleClicked、wheel等

More

上面列出的都是QtQuick模組的基本控制元件,更多來自QtQuick.Controls模組提供的高階控制元件有
Label、Button、RadioButton、CheckBox、ComboBox、SpinBox、ProgressBar、ScrollBar等,相信你一定學會了自行使用幫助文件了,不一一詳細介紹了。