QML学习之路
QML学习笔记记录
Jason~shen
高级软件工程师,深入研究Qt、C++、Python以及前端开发等多个领域。以代码为笔,以屏幕为纸,书写着技术的诗篇。
展开
-
QML网络资料收集
目录官方文档中文版《QmlBook》QtQuickExamplesQml组件化编程细说 QMLQt Quick简明教程Qt Quick/QML快速入门视频教程如何使用 Qt 开发音视频通话应用文本文件编码批量转换工具官方文档英文版https://doc.qt.io/qt-5/qtqml-index.html中文版http://qt5.digitser.net/5.14/zh-CN/qtqml-index.html中文版《QmlBook》..原创 2020-11-07 23:56:09 · 460 阅读 · 0 评论 -
第十三章:QML设计模式之单例模式
单例模式:保证仅有一个实例,并提供一个访问它的全局访问点,适合做全局的配置文件总结流程如下:1、将一个QML组件声明为单例: 在QML脚本中使用pragma Singleton关键字 global/Global.qmlpragma Singletonimport QtQuick 2.0QtObject { property int screenHeight: 400 property int screenWidth: 400 property color bgC原创 2020-11-07 23:51:36 · 2084 阅读 · 1 评论 -
第十二章:QML使用Sqlite数据库
QtQuick通过LocalStorage访问SQLite数据库,完成增删改查 ,使用流程总结如下:1、设置数据库存储路径:setOfflineStoragePath("xxx") 如果不设置路径,会发现数据库不知道存放在什么位置QQmlApplicationEngine engine;engine.setOfflineStoragePath("./"); //设置数据库存储路径engine.load(QUrl(QStringLiteral("qrc:/main.qml")));2...原创 2020-11-07 23:44:24 · 3899 阅读 · 1 评论 -
第十一章:QML与Qt Widgets 结合
QWidget中加载和显示 QML方式方式一:QQuickWidgetQQuickWidget 基于 QWidget,可以直接与Qt Widgets相结合QQuickWidget *pWidget = new QQuickWidget();pWidget->setSource(QUrl("qrc:/main.qml"));ui->verticalLayout->addWidget(pWidget); //加入qwidget布局中方式二:QQuickView:...原创 2020-11-07 23:12:11 · 1157 阅读 · 0 评论 -
第十章:QML网络通信
参考:https://blog.csdn.net/zusi_csdn/article/details/80975898原创 2020-11-07 22:50:14 · 1246 阅读 · 0 评论 -
第九章:QML中多线程的使用
Connections介绍: https://doc.qt.io/qt-5/qml-qtqml-connections.html示例:倒计时worker.h#ifndef DISPATCHER_H#define DISPATCHER_H#include <QThread>#include <QDebug>class Worker : public QThread{ Q_OBJECT Q_PROPERTY(int data READ g.原创 2020-10-26 23:13:32 · 4998 阅读 · 1 评论 -
第八章:QML定时器Timer
QML中实现方法定时器Timer介绍:https://doc.qt.io/qt-5/qml-qtqml-timer.htmlimport QtQuick 2.6import QtQuick.Window 2.2Window { visible: true width: 500 height: 60 title: qsTr("定时器") Timer { interval: 500 //设置定时器定时时间为500ms,默认100.原创 2020-10-26 23:13:22 · 1782 阅读 · 1 评论 -
第六章:QML信号
1、QML属性变化信号on<Property>Changed示例:import QtQuick 2.0TextInput { text: "Change this!" onTextChanged: {//text属性信号处理 console.log("Text has changed to:", text) } MouseArea{ anchors.fill:parent onClicked...原创 2020-10-26 23:13:10 · 403 阅读 · 0 评论 -
第五章:C++中调用QML交互
实现方法:第一步:获取QML中对象QList<QObject*> rootObjects = engine.rootObjects(); int count = rootObjects.size(); // 找到指定对象 for(int i = 0; i < count; i++) { if(rootObjects.at(i)->objectName() == "rootObject") {原创 2020-10-26 23:12:59 · 702 阅读 · 0 评论 -
第四章:QML中调用C++交互
1、QML中调用C++交互方法Qt集成了QML引擎和Qt元对象系统,使得QML很容易从C++中得到扩展,在一定的条件下,QML就可以访问QObject派生类的成员,例如信号、槽函数、枚举类型、属性、成员函数等。QML访问C++需要将c++类扩展到qml中,有两个方法:1、在Qt元对象系统中注册C++类到qml中2、将对象或数据暴露给 QML相关函数:setContextProperty()//将对象或数据暴露给 QMLqmlRegisterType()//注册C++类...原创 2020-10-25 19:14:23 · 869 阅读 · 0 评论 -
第三章:QML样式美化之按钮美化ButtonStyle
Component元素介绍: https://doc.qt.io/qt-5/qml-qtqml-component.htmlButtonStyle介绍:https://doc.qt.io/qt-5/qml-qtquick-controls-styles-buttonstyle.html示例按钮样式效果:源码:import QtQuick 2.6import QtQuick.Window 2.2import QtQuick.Controls 1.1import QtQuick.原创 2020-10-25 18:53:35 · 3952 阅读 · 1 评论 -
第二章:QML基础组件之文件查看器(综合示例)
文件查看器效果:下载地址:原创 2020-10-25 18:45:54 · 510 阅读 · 0 评论 -
第二章:QML基础组件之颜色对话框ColorDialog
颜色对话框ColorDialog官方介绍:https://doc.qt.io/qt-5/qml-qtquick-dialogs-colordialog.html效果:示例:import QtQuick 2.7import QtQuick.Controls 1.4import QtQuick.Layouts 1.3import QtQuick.Dialogs 1.2ApplicationWindow { visible: true width: 640 .原创 2020-10-25 18:42:23 · 1184 阅读 · 3 评论 -
第二章:QML基础组件之文件对话框FileDialog
对话框FileDialog官方介绍:https://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html示例:import QtQuick 2.7import QtQuick.Controls 1.4import QtQuick.Layouts 1.3import QtQuick.Dialogs 1.2ApplicationWindow { visible: true width: 640 height: .原创 2020-10-25 18:39:31 · 1436 阅读 · 0 评论 -
第二章:QML基础组件之消息对话框MessageDialog
对话框MessageDialog官方介绍: https://doc.qt.io/qt-5/qml-qtquick-dialogs-messagedialog.html效果:源码:实现方式一:import QtQuick 2.7import QtQuick.Controls 1.4import QtQuick.Layouts 1.3import QtQuick.Dialogs 1.2ApplicationWindow { visible: true widt原创 2020-10-25 18:35:00 · 6148 阅读 · 1 评论 -
第二章:QML基础组件之菜单栏MenuBar
菜单栏 MenuBarApplicationWindow效果图:源码:import QtQuick 2.7import QtQuick.Controls 1.4import QtQuick.Layouts 1.3ApplicationWindow { visible: true width: 640 height: 480 color: "black"; title: "菜单显示"; id: root; menu..原创 2020-10-25 18:28:10 · 2758 阅读 · 0 评论 -
第一章:QML类型属性
基本类型官方:https://doc.qt.io/qt-5/qmlbasictypes.htmlint, double, bool, string,var, variant, color, real, vector3d, url, time, rect, size, enumeration, font, date, point, list, action, alias示例:property real contentYOnFlickStarted: 0; property var a...原创 2020-10-25 18:24:21 · 376 阅读 · 0 评论