Qt Quick——QML基础(二):自定义控件

1、新建一个QML工程,修改main.qml。

  如下,修改Window中的内容。其中Button是自定义的控件

 1 import QtQuick 2.6
 2 import QtQuick.Window 2.2
 3
 4 Window {
 5     visible: true
 6 //    width: 360
 7 //    height: 360
 8     Button {
 9         id: button
10         x: 12; y: 12
11         text: "main Start"
12         onClicked: {
13             status.text = "Button clicked!"
14         }
15     }
16
17     Text {
18         id: status
19         x: 12; y: 76
20         width: 116; height: 26
21         text: "waiting ..."
22         horizontalAlignment: Text.AlignHCenter
23     }
24 }

2、在main.qml所在的目录中新建一个Button,qml文件

 1 //Botton.qml
 2 import QtQuick 2.0
 3 /*
 4     文件名即自定义控件名
 5     使用别名导出属性:相当于函数的变量形参
 6         不同的是导出的属性,调用控件是可以不使用(赋值)
 7 */
 8 Rectangle {
 9     id: root
10
11     property alias text: label.text//导出自定义属性
12     signal clicked
13
14     width: 116; height: 26
15     color: "red"
16     border.color: "slategrey"
17
18     Text {
19         id: label
20         anchors.centerIn: parent
21         text: "Start"
22     }
23     MouseArea {
24         anchors.fill: parent
25         onClicked: {
26             root.clicked()
27         }
28     }
29 }

原文地址:https://www.cnblogs.com/wangbin-heng/p/9576362.html

时间: 2024-10-11 10:29:23

Qt Quick——QML基础(二):自定义控件的相关文章

在Ubuntu平台上开发Qt Quick QML应用 (视频)

在这个视频里,我们从"0"开始来开发一个mini的RSS阅读器.通过这个练习,开发者可以对QML的编程有一个基本的了解,并了解在Ubuntu平台上的一些开发的流程.应用的图片如下:    视频的地址是:http://v.youku.com/v_show/id_XODcwODQxOTI0.html 

QT开发(五十五)———Qt Quick Controls

QT开发(五十五)---Qt Quick Controls 一.Qt Quick Controls基础 QT5.1发布了Qt Quick的一个全新模块:Qt Quick Controls.Qt Quick Controls模块提供了大量类似Qt Widgets模块的可重用组件. 为了开发基于Qt Quick Controls的程序,需要创建一个Qt Quick Application类型的应用程序,选择组件集的时候注意选择Qt Quick Controls. 二.Qt Quick Control

Qt官方教程翻译——Qt Quick

附网址:http://qt-project.org/doc/qt-5/qtquick-index.html Qt Quick Qt Quick组件是编写QML应用程序的标准库.Qt QML组件提供了QML的引擎和语言基础,Qt Quick组件则提供了QML创建用户图形界面的所有基本类型.它提供了一个可视化的画布,以及创造可视化组件.接收用户输入.创造数据模型和视图.延迟实例化对象等多种类型(types). Qt Quick组件还提供了一个QML API为QML语言创建用户界面提供QML类型,以及

Qt5官方demo解析集33——Qt Quick Examples - Window and Screen

本系列所有文章可以在这里查看http://blog.csdn.net/cloud_castle/article/category/2123873 接上文Qt5官方demo解析集32--Qt Quick Examples - Threading 来到我们Qt Quick Examples的第二个例子了,之所以挑这个demo,主要是我们使用Qt开发界面(尤其是跨平台界面)时,本地屏幕信息与窗口调用是不可避免的课题. 这个例子便向我们展示了在QML中获取本地屏幕信息的方法. 项目树如图,其中share

Qt Quick之StackView具体解释(1)

Qt Quick中有个StackView.我在<Qt Quick核心编程>一书中没有讲到.近期有人问起,趁机学习了一下,把它的基本使用方法记录下来. 我准备分两次来讲.第一次讲主要的使用方法.包含StackView的适用场景.基本属性和方法的使用方法.第二次讲一些略微复杂点的东西,比方被StackView管理的view的生命周期.delegate定制.查找等. 演示样例会用到动态创建组建,能够參考我之前的文章"Qt Quick 组件与对象动态创建具体解释".也会用到锚布局.

Qt Quick之StackView详解(2)

在"StackView详解(1)"中,我们学习了StackView的基本用法,这次呢,我们来讲delegate的定制.被管理的View的生命周期.查找View等主题. 本文还会用到"StackView详解(1)"中的示例,如有需要可以回头看看. 附加属性 首先看看StackView提供的附加属性 Stack(后面会用到): Stack.index,index代表当前Item在StackView里的索引,从0开始哦,和StackView.depth不同哦,depth从

Qt Quick之StackView详解(1)

Qt Quick中有个StackView,我在<Qt Quick核心编程>一书中没有讲到,最近有人问起,趁机学习了一下,把它的基本用法记录下来. 我准备分两次来讲.第一次讲基本的用法,包括StackView的适用场景.基本属性和方法的用法.第二次讲一些稍微复杂点的东西,比如被StackView管理的view的生命周期.delegate定制.查找等. 示例会用到动态创建组建,可以参考我之前的文章"Qt Quick 组件与对象动态创建详解".也会用到锚布局,参考"Qt

Qt Quick 之 QML 与 C++ 混合编程详解

Qt Quick 技术的引入,使得你能够快速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的,也有很多局限性,原来 Qt 的一些技术,比如低阶的网络编程如 QTcpSocket ,多线程,又如 XML 文档处理类库 QXmlStreamReader / QXmlStreamWriter 等等,在 QML 中要么不可用,要么用起来不方便,所以呢,很多时候我们是会基于这样的原则来混合使用 QML 和 C++: QML 构建界面, C++ 实现非界面的业务逻辑和复杂运算. 请给

从头学Qt Quick(3)-- 用QML写一个简单的颜色选择器

先看一下效果图: 实现功能:点击不同的色块可以改变文字的颜色. 实现步骤: 一.创建一个默认的Qt Quick工程: 二.添加文件Cell.qml 这一步主要是为了实现一个自定义的组件,这个组件就是我们看到的那个色块,很明显定义成组件可以则兼UI的复用. 1 import QtQuick 2.0 2 3 Item { 4 id: container; 5 property alias cellColor: rectangle.color; 6 signal clicked(color cellC