QML常用控件
这里的控件是显示的元素
1、Item:一切的基类
Item {
Image {
source: "tile.png"
}
Image {
x:
width:
height:
source: "tile.png"
}
Image {
x:
width:
height:
fillMode: Image.Tile
source: "tile.png"
}
}
2、Rectangle:矩形
Rectangle{
width:300;
height:200;
color:"#C0C0C0";
focus:true;
Keys.enabled:true;
Keys.onEscapePressed:Qt.quit();
Keys.onBackPressed:Qt.quit();
Keys.onPressed:{
switch(event.key){
case Qt.Key_0:
case Qt.Key_1:
case Qt.Key_2:
case Qt.Key_3:
case Qt.Key_4:
case Qt.Key_5:
case Qt.Key_6:
case Qt.Key_7:
case Qt.Key_8:
case Qt.Key_9:
event.accepted=true;
keyView.text = event.key-Qt.Key_0;
break;
}
}
3、Text:字
Text{
id:keyView;
font.bold:true;
font.pixelSize:;
text:"Waiting";
anchors.centerIn:parent;
color:"#FF0000";
}
4、Glow:光影
Glow{
anchors.fill:keyView;
radius:;
samples:;
color:"white";
source:keyView;
}
5、PushButton:按钮
Button{
id:openBtn;//id
text:"OPEN";//显示字
anchors.left: parent.left;
anchors.leftMargin: ;
anchors.bottom: parent.bottom;
anchors.bottomMargin: ;
style:ButtonStyle{
background: Rectangle{
implicitWidth: ;
implicitHeight: ;
color:"#FFFFFF";
border.width: control.pressed?:;
border.color: (control.hovered || control.pressed)?"green":"#888888";
}
}
onClicked:{
//点击信号回调
//fileDialog.open();
}
}
6、TabView,用TabViewStyle定制外观,注意手册中TabView没有style属性【实际上有,只是没有加上去】
main.qml: import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
import QtQuick.Controls 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World") TabView{
anchors.fill: parent;
style: TabViewStyle {
frameOverlap:
tabsAlignment: Qt.AlignHCenter
tab: Rectangle {
color: styleData.selected ? "steelblue" :"lightsteelblue"
border.color: "steelblue"
implicitWidth: Math.max(text.width + , )
implicitHeight:
radius:
Text {
id: text
anchors.centerIn: parent
text: styleData.title
color: styleData.selected ? "white" : "black"
}
}
frame: Rectangle { color: "steelblue" }
}
Tab {
source:"tab.qml";
}
Tab {
title: "Blue"
Rectangle { color: "blue" }
}
Tab {
title: "Green"
Rectangle { color: "green" }
}
}
}
tab.qml: import QtQuick 2.0
import QtQuick.Controls 1.4
Rectangle{
Button{
id:btn1;
text: "";
}
Button{
anchors.left: btn1.right;
text: "";
}
}
7、行编辑:TextInput,TextField【比TextInput多了背景颜色设置】
8、块编辑:TextEdit,TextArea【比TextEdit多了背景颜色设置】
9、ExclusiveGroup,互斥分组,可以在里面放入RadioButton、CheckBox、Action等元素
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World") Text {
id: toptext;
text: qsTr("请选择操作系统:");
anchors.top: parent.top;
anchors.topMargin: ;
}
Text{
id:maintext;
anchors.centerIn: parent;
font.pixelSize: ;
text:"no section";
z:;
} ExclusiveGroup{
id:eg;
}
RadioButton{
id:btn1;
text: "android";
anchors.top:toptext.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
exclusiveGroup: eg;
anchors.topMargin: ;
}
RadioButton{
id:btn2;
text: "ios";
anchors.top:btn1.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
exclusiveGroup: eg;
anchors.topMargin: ;
}
RadioButton{
id:btn3;
text: "windows";
anchors.top:btn2.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
exclusiveGroup: eg;
anchors.topMargin: ;
}
RadioButton{
id:btn4;
text: "wh";
anchors.top:btn3.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
exclusiveGroup: eg;
anchors.topMargin: ;
}
RadioButton{
id:btn5;
text: "linux";
anchors.top:btn4.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
exclusiveGroup: eg;
anchors.topMargin: ;
}
Button{
id:btn;
text:"确定";
anchors.top:btn5.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
anchors.topMargin: ;
onClicked: {
maintext.text = eg.current.text;
}
}
}

10、RadioButton,单旋按钮,使用RadioButtonStyle来设置风格
11、CheckBox,复选按钮,使用CheckBoxStyle来设置风格
partiallyCheckedEnabled:用来表示可以部分选中
CheckBox{
id:btn5;
text: "linux";
partiallyCheckedEnabled: true;
anchors.top:btn4.bottom;
anchors.left: parent.left;
anchors.leftMargin: ;
anchors.topMargin: ;
}

12、GroupBox
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World") GroupBox{
id:gb;
title: "test";
anchors.centerIn: parent;
width: ;
height: ;
checkable: true;//是否可选
flat: false;//是否有边框
}
}

13、ComboBox
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World") ComboBox {
anchors.centerIn: parent;
currentIndex: ;
//model: [ "Banana", "Apple", "Coconut" ]方式一
model: ListModel {//方式二
id: cbItems;
ListElement { text: "Banana"; color: "Yellow" }
ListElement { text: "Apple"; color: "Green" }
ListElement { text: "Coconut"; color: "Brown" }
}
textRole: "color";//使用text或者color来显示
width: ;
onCurrentIndexChanged: {
console.debug(cbItems.get(currentIndex).text + ", " + cbItems.get(currentIndex).color);//获取当前内容
}
}
}

14、ProgressBar
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World")
Column {
anchors.centerIn: parent;
ProgressBar {
value: 0.5//当前值
}
ProgressBar {
indeterminate: true//忙
}
}
}

用ProgressBarStyle设置风格
15、Slider,使用SliderStyle来设置风格
Slider由四个部分组成,都可以定义

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World") Text{
id:text;
anchors.top:parent.top;
anchors.topMargin: ;
anchors.left: parent.left;
anchors.leftMargin: ;
font.pixelSize: ;
color:"red";
text:"noooooo";
} Slider {
anchors.centerIn: parent;
width:;
value: ;
maximumValue: ;
stepSize: ;
tickmarksEnabled: true;
onValueChanged: {//这个信号没有找到
text.text=value;
}
style:SliderStyle{
groove: Rectangle{
width: ;
height: ;
radius: ;
color: "green";
}
handle: Rectangle{
width: ;
height: ;
radius: ;
color: "red";
}
}
}
}

16、Flickable
17、Canvas
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
Window {
visible: true
width:
height:
title: qsTr("Hello World")
Canvas {
id: mycanvas
width:
height:
onPaint: {
var ctx = getContext("2d");
ctx.fillStyle = Qt.rgba(, , , );
ctx.fillRect(, , width, height);
}
}
}

18、仪表盘CircularGauge
import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Extras 1.4
CircularGauge {
value: accelerating ? maximumValue :
anchors.centerIn: parent property bool accelerating: false Keys.onSpacePressed: accelerating = true
Keys.onReleased: {
if (event.key === Qt.Key_Space) {
accelerating = false;
event.accepted = true;
}
} Component.onCompleted: forceActiveFocus() Behavior on value {
NumberAnimation {
duration:
}
}
}

19、GridLayout
GridLayout {
id: grid
rows:
columns:
width:
height:
columnSpacing:
Text {
id: textUsr
text: qsTr("用户名")
font.pointSize:
color: "black"
}
TextField {
id: filedUsr
Layout.preferredHeight:
}
Text {
id: textPaswd
text: qsTr("密码")
font.pointSize:
color: "black"
}
TextField {
id: filedPawd
Layout.preferredHeight:
}
}
20、Image
Image {
id: rdJpg
anchors.centerIn: parent
smooth: true
visible: false
source: "qrc:/img/rd.jpg"
}
如果是将图片全部存到了资源里,然后Image使用资源里的这些图片,最后打包的程序不需要再打包这些图片,因为已经跟随资源编译到程序里了,所以耗内存
QML常用控件的更多相关文章
- android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)
第三节(2):常用控件之ViewPager.日期时间相关.ListView 一.ViewPager 实例:结合PagerAdapter滑动切换图片 二.日期时间相关:AnalogClock\Dig ...
- [WinForm]WinForm跨线程UI操作常用控件类大全
前言 在C#开发的WinForm窗体程序开发的时候,经常会使用多线程处理一些比较耗时之类的操作.不过会有一个问题:就是涉及到跨线程操作UI元素. 相信才开始接触的人一定会遇上这个问题. 为了解决这个问 ...
- android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)
第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1) onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...
- Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例
看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...
- MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)
本节继续讲解常用控件--按钮控件的使用. 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的侠义的 ...
- MFC编程入门之二十(常用控件:静态文本框)
上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...
- Android中常用控件及属性
在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考.好了废话不多讲,现在开始我们本篇内容的介 ...
- DevExpress winform XtraEditor常用控件
最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...
- 五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...
随机推荐
- Python底层库的函数中from __future__ import absolute_import的作用
在查看TensorFlow的底层优化器时候看到from __future__ import absolute_import 查找相关资料后发现 这个语句的意思是加入绝对引用的特征 直白的意思是,比如: ...
- mysql优化(二)
一.客户端分担. 1.大量的复杂的运算放在客户端处理. 什么是复杂运算,一般我认为是一秒钟CPU只能做10万次以内的运算.如含小数的对数及指数运算.三角函数.3DES及BASE64数据加密算法等等.如 ...
- sql server case
use mytest go exec p_city 2,4 exec p_city_cnt 2,3 select stuff((select ',' + city_id from cities for ...
- QString和char*互转
1. QString转为char * // QString转QByteArray QByteArray sr = strQ.toLocal8Bit(); int len = sr.length(); ...
- 【转】SQL Server 运行状况监控SQL语句
SQL Server 运行状况监控SQL语句 Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (D ...
- jQuery文档操作--append()、prepend()、after()和before()
append(content|fn) 概述 向每个匹配的元素内部追加内容,这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似 参数 content 要追 ...
- Spring boot FastJson
介绍:FastJson 是ailibaba 的一款解析Json的开源框架 使用方式1 引入jar 包 <dependency> <groupId>com.alibaba& ...
- highcharts插件
详见官网:https://www.highcharts.com.cn/demo/highcharts 详细使用代码: <!DOCTYPE html> <html lang=" ...
- LDA的Gibbs Sampling求解
<LDA数学八卦>对于LDA的Gibbs Sampling求解讲得很详细,在此不在重复在轮子,直接贴上该文这部分内容. Gibbs Sampling 批注: 1. ...
- 关于SQL语句中的distinct和group by
两种都能实现去重功能.区别: distinct只是将重复的行从结果中出去: group by是按指定的列分组,一般这时在select中会用到聚合函数. distinct是把不同的记录显示出来 grou ...