自定义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模块相关推荐

  1. qt自定义插件creator不显示_让Qt Creator更懂我们的自定义模块

    用QML模块的方式组织软件是个不错的结构设计,笔者的QtQuick项目都会首先考虑QML模块的划分,然后以搭积木的方式完成最后的开发. Qt Creator是开发QtQuick程序的首先IDE,因为它 ...

  2. Qt QML模块提供的重要C ++类

    Qt QML模块提供的重要C ++类 Qt QML模块提供的重要C ++类 QML运行时 QQmlEngine类 QQmlContext类 动态对象实例化和表达评估 QQmlComponent类 QQ ...

  3. Qt Creator将QML模块与插件一起使用

    Qt Creator将QML模块与插件一起使用 将QML模块与插件一起使用 注册QML类型 导入QML模块 在设计模式下运行QML模块 将QML模块与插件一起使用 QML模块可以使用插件将C ++中定 ...

  4. Qt Quick QML实现自定义虚拟软键盘详解

    Qt Quick QML实现自定义虚拟软键盘详解 在Qt5.8版本推出的QML软键盘功能中,有两种实现方案.一种是基于中文汉字数据库,另一种是基于Google拼音输入引擎.然而,相比于官方软键盘,这两 ...

  5. Qt Quick 3D模块初探

    0.前言 Qt Quick 3D提供了用于基于Qt Quick创建3D内容或UI的高级API.提供了对现有Qt Quick场景图(scenegraph )的扩展,以及对该扩展场景图的渲染器.使用空间场 ...

  6. Qt Quick QML

    Qt Quick简介 Qt Quick是一个用于帮助开发者设计直观,现代,流畅的用户界面的技术集,近年来被广泛应用于手机,媒体播放器,机顶盒和其他手提设备.Qt Quick中包含了大量的用户界面元素, ...

  7. Qt——自定义编程风格指南(未完成)

    文章目录 前言 一.头文件模板规则 1. 尽量所有"#include"放在.h文件头部 2. "#include"包含的类顺序 3. 头文件中 变量.函数 属性 ...

  8. QT自定义饼图的外观

    QT自定义饼图的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义饼图的外观. 项目技术 qt5.12,qt charts模块,C++ 项目展示

  9. QT自定义图表上不同元素的外观

    QT自定义图表上不同元素的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义图表上不同元素的外观. 项目技术 qt5.12,qt charts模块,C++ ...

最新文章

  1. android pjsip 2.5编译,在Android中构建PJSiP时出错
  2. 使用jdk8新特性实现数据库性能优化
  3. c语言while计算机编写,计算机等级考试二级C语言(while与dowhile循环)
  4. 什么是485中继器,RS-485中继器产品介绍
  5. 积米浏览器如何清除浏览数据
  6. shell 中浮点数和整数的比较
  7. Python学习笔记(2) Python提取《釜山行》人物关系
  8. 无损1080i到1080p是如何制作的
  9. MapGuide应用开发系列(三)----MapGuide 数据包管理及Maestro亮点功能介绍
  10. 嵌入式工程师必须知道的一些好网站
  11. linux关闭防火墙安装Vmware tools
  12. 浏览器主页被360篡改怎么办?
  13. 用计算机术语写毕业寄语,毕业寄语大全一句话
  14. python软件工程师月薪-软件工程师薪水知多少?
  15. Matlab表格和时间表中的分组计算
  16. 如何下载头歌平台在线实验闯关中的文件到本地进行查看
  17. Windows 组策略 应用
  18. 明光市机器人_明光市安保巡逻机器人在线咨询
  19. 历时7天,四名学生将《水浒传》搬到线上!
  20. 科目一计算机答题错了能修改吗,科目一可要是错了可以修改吗

热门文章

  1. linux中ssh启动报错,Linux(Ubuntu18)中启动ssh时的报错
  2. C语言 函数值传递和址传递 - C语言零基础入门教程
  3. Python 线程队列 Queue – FIFO - Python零基础入门教程
  4. JAVA如何隐藏异常堆栈_java – 如何在控制台上停止打印异常堆栈跟踪?
  5. php之二叉树,数据结构之二叉树——链式存储结构(php代码实现)
  6. 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
  7. android是语言吗,android – 内容描述应该是多种语言吗?
  8. Android app 标签,android 获取APP的唯一标识applicationId的实例
  9. java applog_java - 通过Logback登录到App Engine request_log - SO中文参考 - www.soinside.com
  10. java if (name!=null name!=),java中的NullPointerException异常