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等,相信你一定学会了自行使用帮助文档了,不一一详细介绍了。