Qt自定义QML模块
自定义QML模块
含义为将常用风格的Button,Text,RadioButton,或者自定义的控件作为一个控件进行使用,节省代码。
优点:
- 代码简洁,减少重复代码
- 自定义的控件进行封装重复使用
- 可以与QML自带的库区别开来
- 优化项目结构
一、创建模块
1. 创建文件夹
在项目目录下创建自定义模块的文件夹名称,例如:
mkdir ./controls #在项目根目录下创建文件夹
2. 创建控件文件
上一步创建了controls文件夹,所以此模块为自定义控件的集合。
创建自定义的Button和Text文件
touch Button.qml Text.qml
3. 导入项目
将此controls文件夹添加到项目中
4. 自定义控件
Button.qml文件
import QtQuick 2.5
import QtQuick.Controls 2.1Button {property int clickedTimes: 0;//定义一些默认属性的设置,大小,颜色等
}
Text.qml文件
import QtQuick 2.5
import QtQuick.Controls 2.1Text{property string city: "shanghai";//定义一些默认属性的设置,大小,颜色等
}
5. 自定义模块的使用
main.qml文件
import QtQuick 2.5
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.1
import "./controls" as MyControls //as会将controls目录下的自定义控件加载进来ApplicationWindow {visible: true;width: 1280;height: 720;title: qsTr("Photo");MyControls.Button {clickedTimes: dada;}MyControls.Text {city: "beijing";}
}
Qt自定义QML模块相关推荐
- qt自定义插件creator不显示_让Qt Creator更懂我们的自定义模块
用QML模块的方式组织软件是个不错的结构设计,笔者的QtQuick项目都会首先考虑QML模块的划分,然后以搭积木的方式完成最后的开发. Qt Creator是开发QtQuick程序的首先IDE,因为它 ...
- Qt QML模块提供的重要C ++类
Qt QML模块提供的重要C ++类 Qt QML模块提供的重要C ++类 QML运行时 QQmlEngine类 QQmlContext类 动态对象实例化和表达评估 QQmlComponent类 QQ ...
- Qt Creator将QML模块与插件一起使用
Qt Creator将QML模块与插件一起使用 将QML模块与插件一起使用 注册QML类型 导入QML模块 在设计模式下运行QML模块 将QML模块与插件一起使用 QML模块可以使用插件将C ++中定 ...
- Qt Quick QML实现自定义虚拟软键盘详解
Qt Quick QML实现自定义虚拟软键盘详解 在Qt5.8版本推出的QML软键盘功能中,有两种实现方案.一种是基于中文汉字数据库,另一种是基于Google拼音输入引擎.然而,相比于官方软键盘,这两 ...
- Qt Quick 3D模块初探
0.前言 Qt Quick 3D提供了用于基于Qt Quick创建3D内容或UI的高级API.提供了对现有Qt Quick场景图(scenegraph )的扩展,以及对该扩展场景图的渲染器.使用空间场 ...
- Qt Quick QML
Qt Quick简介 Qt Quick是一个用于帮助开发者设计直观,现代,流畅的用户界面的技术集,近年来被广泛应用于手机,媒体播放器,机顶盒和其他手提设备.Qt Quick中包含了大量的用户界面元素, ...
- Qt——自定义编程风格指南(未完成)
文章目录 前言 一.头文件模板规则 1. 尽量所有"#include"放在.h文件头部 2. "#include"包含的类顺序 3. 头文件中 变量.函数 属性 ...
- QT自定义饼图的外观
QT自定义饼图的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义饼图的外观. 项目技术 qt5.12,qt charts模块,C++ 项目展示
- QT自定义图表上不同元素的外观
QT自定义图表上不同元素的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义图表上不同元素的外观. 项目技术 qt5.12,qt charts模块,C++ ...
最新文章
- android pjsip 2.5编译,在Android中构建PJSiP时出错
- 使用jdk8新特性实现数据库性能优化
- c语言while计算机编写,计算机等级考试二级C语言(while与dowhile循环)
- 什么是485中继器,RS-485中继器产品介绍
- 积米浏览器如何清除浏览数据
- shell 中浮点数和整数的比较
- Python学习笔记(2) Python提取《釜山行》人物关系
- 无损1080i到1080p是如何制作的
- MapGuide应用开发系列(三)----MapGuide 数据包管理及Maestro亮点功能介绍
- 嵌入式工程师必须知道的一些好网站
- linux关闭防火墙安装Vmware tools
- 浏览器主页被360篡改怎么办?
- 用计算机术语写毕业寄语,毕业寄语大全一句话
- python软件工程师月薪-软件工程师薪水知多少?
- Matlab表格和时间表中的分组计算
- 如何下载头歌平台在线实验闯关中的文件到本地进行查看
- Windows 组策略 应用
- 明光市机器人_明光市安保巡逻机器人在线咨询
- 历时7天,四名学生将《水浒传》搬到线上!
- 科目一计算机答题错了能修改吗,科目一可要是错了可以修改吗
热门文章
- linux中ssh启动报错,Linux(Ubuntu18)中启动ssh时的报错
- C语言 函数值传递和址传递 - C语言零基础入门教程
- Python 线程队列 Queue – FIFO - Python零基础入门教程
- JAVA如何隐藏异常堆栈_java – 如何在控制台上停止打印异常堆栈跟踪?
- php之二叉树,数据结构之二叉树——链式存储结构(php代码实现)
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
- android是语言吗,android – 内容描述应该是多种语言吗?
- Android app 标签,android 获取APP的唯一标识applicationId的实例
- java applog_java - 通过Logback登录到App Engine request_log - SO中文参考 - www.soinside.com
- java if (name!=null name!=),java中的NullPointerException异常