随笔分类 -  Qt

摘要:一、前言 Qt 使用 QNetworkAccessManager 访问网络,这里对其进行了简单的封装,访问网络的代码可以简化为: // [[1]] GET 请求无参数 HttpClient("http://localhost:8080/device").success([](const QStrin 阅读全文
posted @ 2021-04-30 17:13 fengMisaka 阅读(7669) 评论(4) 推荐(1)
摘要:一、前言 Qt 中访问网络使用 QNetworkAccessManager,它的 API 是异步的,这样在访问网络的时候不需要启动一个线程,在线程里执行请求的代码。(但这一点在有时候需要阻塞时就是个麻烦了) 需要注意一点的是,请求响应的对象 QNetworkReply 需要我们自己手动的删除,一般都 阅读全文
posted @ 2021-04-30 15:46 fengMisaka 阅读(1808) 评论(0) 推荐(0)
摘要:一、前言 C++ 中比较不错的日志工具有 log4cxx,log4qt 等,但是它们都不能和 qDebug(), qInfo() 等有机的结合在一起,所以在 Qt 中使用总觉得不够舒服,感谢 Qt 提供了 qInstallMessageHandler() 这个函数,使用这个函数可以安装自定义的日志输 阅读全文
posted @ 2021-04-29 08:28 fengMisaka 阅读(4790) 评论(0) 推荐(5)
摘要:这里将 Qt 常用的文件操作函数封装成一个单例类,方便复用。 一、类定义 FileMgr.h: #ifndef FILEMGR_H #define FILEMGR_H // Qt文件管理类 #include <QFile> #include <QFileInfo> #include <QDir> # 阅读全文
posted @ 2021-03-17 18:47 fengMisaka 阅读(1337) 评论(0) 推荐(0)
摘要:一、简介 QML Online即 QML 在线预览工具,是一个由 EmScripten/WebAssembly 支持的 Qt/QML 适配版,该项目目前托管在 KDE 组织下。 如果你想在线练习 QML,并实时查看渲染效果,但是又没有安装 Qt,也没有 QML/qmlscene 工具时,可以使用它。 阅读全文
posted @ 2021-03-17 12:11 fengMisaka 阅读(4144) 评论(0) 推荐(0)
摘要:简介 Repeater 是一个非常特别又非常好用的类,它用来创建多个基于 Item 的组件,扔给它的 parent(通常是定位器或布局管理器)来管理。这是 Repeater 和 ListView 等类的一个显著不同。 Repeater 有三个属性,count 指示它创建了多少个基于 Item 的对象 阅读全文
posted @ 2020-11-09 15:51 fengMisaka 阅读(3323) 评论(4) 推荐(2)
摘要:一、JSON概述 JSON( JavaScript Object Notation,对象表示法) 是一种轻量级的数据交换格式。 它基于 ECMAScript 的一个子集。许多编程语言都很容易找到J SON 解析器和 JSON 库。 JSON 文本格式在语法上与创建 JavaScript 对象的代码相 阅读全文
posted @ 2020-10-10 10:58 fengMisaka 阅读(3459) 评论(0) 推荐(0)
摘要:概述 Qt 开发 MQTT 程序有两种方式,一个是 Qt 官方提供的基于 MQTT 的封装,一个是第三方(EMQ)开发的用于 Qt 调用 MQTT 的接口,二者使用方法大同小异,并且均提供了源码。那么,这里先来介绍第一种,如基于 Qt 官方提供的封装来使用 MQTT。 Qt 官方虽然在 2017 年 阅读全文
posted @ 2020-10-09 14:21 fengMisaka 阅读(5502) 评论(0) 推荐(1)
摘要:转载自灼光的QML Canvas 2D绘图<下> 接着上一章的内容,本章继续进行后续画图相关操作。 一、渐变填充 Canvas 支持 3 种渐变:线性渐变、辐射渐变、锥形渐变。 1.1 线性渐变 createLinearGradient(real x0, real y0, real x1, real 阅读全文
posted @ 2020-09-15 11:23 fengMisaka 阅读(1359) 评论(0) 推荐(0)
摘要:转载自灼光的QML Canvas 2D绘图<上> 一、Canvas 介绍 要绘图先要有纸,即画布也。Qt5 中引进了画布元素 Canvas,该类型继承自Item,允许脚本绘制。Canvas 提供了一个依赖于分辨率的位图画布,能够使用JavaScript绘制直线和曲线、简单和复杂的图形、图像等等,还可 阅读全文
posted @ 2020-09-15 11:22 fengMisaka 阅读(3584) 评论(0) 推荐(0)
摘要:简介 Qt 官方开源了一个虚拟键盘的示例,该示例提供两种使用方式:一种用于桌面平台,另一种用于嵌入式平台,示例采用嵌入式平台方式显示。它们区别是前者脱离窗口应用于全局,后者依附于窗口。 示例在 QtCreator 软件可以找到: 或在以下 Qt 安装目录找到: C:\Qt\{你的Qt版本}\Exam 阅读全文
posted @ 2020-09-14 17:22 fengMisaka 阅读(16973) 评论(0) 推荐(0)
摘要:TableView 就是 Qt Quick 为表格式呈现数据提供的组件。想必兄台用过 Excel,可以藉此想象下 TableView 的效果。 TableView 与 ListView 类似,相比之下多了滚动条、挑选、可调整尺寸的表头等特性。 它的数据也通过 Model 来提供,你可以使用 List 阅读全文
posted @ 2020-09-11 16:34 fengMisaka 阅读(13792) 评论(0) 推荐(4)
摘要:效果 先看效果图: 代码 下面是一个图片浏览器的简单 Demo: import QtQuick 2.11 import QtQuick.Window 2.11 import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.2 import 阅读全文
posted @ 2020-09-09 08:09 fengMisaka 阅读(822) 评论(0) 推荐(0)
摘要:日历控件是基于 Qt5.x 以上,导入 QtQuick.Controls.1.2 即可使用。在看我这篇博客之前,最好选择 Calendar 按 F1 查看 Qt Creator 的帮助文档,或者查看 Calendar 的官方文档所在网页,因为我这篇博客也基本上参考的官方文档,只是在其基础上写了个 D 阅读全文
posted @ 2020-09-08 14:01 fengMisaka 阅读(4611) 评论(0) 推荐(0)
摘要:ListView 提供了 add、remove、move、populate、displaced 几种场景的过渡动画效果,你 可以通过设置相应的属性来改变特定场景对应的过渡动画。这些场景对应的属性,类型都是 Transition,—个场景也可能有多个属性,比如新增 Item 会触发 add 过渡动画, 阅读全文
posted @ 2020-09-01 16:55 fengMisaka 阅读(2491) 评论(0) 推荐(1)
摘要:使用 ListView 是为了向用户展示某些数据,期望用户根据这些数据做出一些反馈,比如买某个东西。而我们会经常需要访问、修改一个 ListView 展现的数据。现在我们就来看看怎么做。 一、访问数据 ListModel 的 count 属性表示 Model 中有多少条数据,int 类型。dynam 阅读全文
posted @ 2020-09-01 16:52 fengMisaka 阅读(7156) 评论(0) 推荐(0)
摘要:一、前言:MVC Model-View-Controller (MVC) 是源自 SmallTalk 的一个设计模式,在构建用户界面时经常用到。作为一种经典到不能再经典的架构模式,MVC 大行其道有其必然的道理。通过把职责、 性质相近的成分归结在一起,不相近的进行隔离,MVC 将系统分解为模型、视图 阅读全文
posted @ 2020-09-01 11:44 fengMisaka 阅读(8998) 评论(0) 推荐(1)
摘要:QML 开发客户端应用,避不可免要进行界面切换,例如从登录界面跳转到主界面。网上看了下多篇博客,都比较简陋不是很详细,不太好进行参考,所以决定自己参考这些博客,总结一下几种界面切换的方法。 先看下效果: 静态 一、隐藏法 本质上各页面都存在,只是某些隐藏,某些显示,当某一触发条件满足时,设置对应页面 阅读全文
posted @ 2020-08-26 17:47 fengMisaka 阅读(16870) 评论(3) 推荐(3)
摘要:本文主要介绍基本元素 TextInput, TextField, TextEdit, TextArea 等的基本属性。Textlnput 与 TextField 为行编辑控件,TextEdit 与 TextArea 为块编辑控件。 一、Textinput Textinput 用于编辑一行文本,类似于 阅读全文
posted @ 2020-08-26 11:27 fengMisaka 阅读(8169) 评论(0) 推荐(1)
摘要:一、简介 anchors 提供了一种方式,让你可以通过指定一个元素与其他元素的关系来确定元素在界面中的位置,即锚布局。 你可以想象一下,每个 Item 都有 7 条不可见的辅线:左(left)、水平中心(horizontalCenter)、 上(top)、下(bottom)、右(right)、垂直中 阅读全文
posted @ 2020-08-18 18:01 fengMisaka 阅读(3276) 评论(0) 推荐(2)