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 ...
随机推荐
- sqli-labs(十七)
第五十四关: 这关大概意思就是尝试次数不能多于十次,必须十次之类查询处特点的key. 第一次:输入单引号报错 第二次:输入双引号不报错 说明后台是单引号进行的拼凑 第三步:这里应该是判断列,用orde ...
- Oracle中找出用户的上次登录时间
可以使用如下sql语句: select t1.username,t1.logon_time last_logon_time,t2.account_status,created 账号创建时间 from ...
- netcore swagger xml发布丢失问题
1.netcore2.1.2,swagger.aspnetcore 1.1.0版本.发布netcore项目时swagger的接口文档xml 遗漏,始终发布不上去.后来查阅资料,讲的好像是netcore ...
- MySQL创建外键约束的报错Error : Can't create table '#sql-534_185' (errno: 150)
总得来说是因为两个表的字段类型不一致,例如: 两个字段的类型或大小不严格匹配,一个为tinyint,另一个为char:或一个为int(10)另一个为int(9)也是不行的,即使都为int(10),但一 ...
- anacoda 安装默认源中没有的包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 1 安装失败 conda install pygame 2 搜索 anaconda se ...
- I Count Tow Three
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#inclu ...
- hdu5029 树链剖分 + 线段树
将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...
- 连接远程数据库时出现 SSH: expected key exchange group packet from server / 2003 - Can't connect to MySQL server on 'XXX' (10038) / 1130 - Host 'XXX' is not allowed to connect to this MySQL server
昨天在自己的远程服务器上玩,把系统重装了.新装了MySQL,在本地用navicat连接的时候出了几个小问题. 问题一:SSH: expected key exchange group packet f ...
- BP神经网络的直观推导与Java实现
人工神经网络模拟人体对于外界刺激的反应.某种刺激经过人体多层神经细胞传递后,可以触发人脑中特定的区域做出反应.人体神经网络的作用就是把某种刺激与大脑中的特定区域关联起来了,这样我们对于不同的刺激就可以 ...
- 20165305 学习基础和C语言基础调查
学习基础和C语言基础调查 <优秀的教学方法---做教练与做中学>心得 在<优秀的教学方法---做教练与做中学>文章中又一次提到了"做教练"这一学习方法,因为 ...