随笔分类 -  Qt编程

Qt编程
摘要:QGroundControl Source Code Learning Series 3 QGCApplication QGCApplication 继承自 QGuiApplication,而不是 QApplication。QGroundControl 界面是使用 QML 及 QtQuick 组件完 阅读全文
posted @ 2019-10-20 13:12 brifuture 阅读(762) 评论(0) 推荐(0)
摘要:QGroundControl Source Code Learning Series 2 AppMessages AppMessages 类主要用来处理程序运行过程中的消息及日志记录。 在使用 Qt 进行开发时,难以避免会使用 QDebug (QInfo | QWarning | QCritical 阅读全文
posted @ 2019-10-16 16:23 brifuture 阅读(362) 评论(1) 推荐(0)
摘要:QGroundControl Source Code Learning Series 1 写在前面:这个系列将会以 [QGroundControl][QGroundControl] Stable V3.5.1 的源代码为基础进行学习。 由于 QGroundControl 的项目庞大,包含的文件较多, 阅读全文
posted @ 2019-10-14 20:27 brifuture 阅读(505) 评论(0) 推荐(0)
摘要:本文首发于 BriFuture 的 "个人博客" 在我的前一篇文章 "使用 Qt 获取 UDP 数据并显示成图片" 中,我讲了如何用 Python 模拟发送数据,如何在 Qt 中高效的接收 UDP 数据包并将数据解析出来。然而此前的文章在分别显示 RGB 通道、R 通道、G 通道、B 通道这四组通道 阅读全文
posted @ 2019-03-23 22:51 brifuture 阅读(2065) 评论(0) 推荐(0)
摘要:添加 QSS 样式文件 在 Qt 项目中新建一个或使用已有的 ,在资源文件下面新建一个普通文件,命名为 : 为 添加如下内容: 这里是模仿 bootstrap 的样式格式,为 QPushButton 添加几种情景色,熟悉之后可以自行添加更多的情景模式。 编写 QSS 样式文件时推荐使用 VSCODE 阅读全文
posted @ 2019-03-15 20:24 brifuture 阅读(1550) 评论(0) 推荐(0)
摘要:一个项目,要接收 UDP 数据包,解析并获取其中的数据,主要根据解析出来的行号和序号将数据拼接起来,然后将拼接起来的数据(最重要的数据是 R、G、B 三个通道的像素值)显示在窗口中。考虑到每秒钟要接收的数据包的数量较大,Python 的处理速度可能没有那么快,而且之前对 Qt 也比较熟悉了,所以用Q 阅读全文
posted @ 2019-01-25 21:21 brifuture 阅读(6674) 评论(7) 推荐(2)
摘要:中文输入法无法在 QtCreator(Linux) 中输入汉字 环境 system: Deepin 15.7 Qt Creator 4.7.0 (GCC 5.3.1) 解决方法 1. 下载 fcitx qt5 源码,并进入相应目录: 2. 安装 cmake,并运行: 3. 如出现类似 “Could 阅读全文
posted @ 2018-09-12 13:03 brifuture 阅读(5175) 评论(0) 推荐(0)
摘要:Qt UI 文件机制 使用 Qt 设计界面程序时,若界面是静态的,可以借助 Qt Designer 进行所见即所得的界面设计。设计好界面后,在界面类中对 ui 对象进行操作非常方便。 QtCreator 自动生成的界面类 构建运行一个有 Qt 界面文件的项目时,会在程序构建目录下面生成一些前缀为 的 阅读全文
posted @ 2018-08-31 09:50 brifuture 阅读(233) 评论(0) 推荐(0)
摘要:1. 半双工模式实时检测串口 ComHalfDuplex类是为了解决上位机发送控制指令和下位机发送数据会在半双工RS485总线中产生冲突引起乱码而引入的(v0.010版本引入)。 解决冲突的原理主要是实时检测串口,若一段时间内下位机不发送数据,则认为此时串口是空闲的,可以向下位机发送数据。 若在等待 阅读全文
posted @ 2018-08-30 09:37 brifuture 阅读(536) 评论(0) 推荐(0)
摘要:Qt 修改 Windows 注册表项 在使用 FT232R 驱动(usb转串口设备)连接电脑时,下位机发送的数据会被转换器缓存起来,由串口转换器驱动设定的延时定时发送到 PC,这样就造成了一个问题:上位机和下位机同时发送数据时将会导致电平冲突(乱码)。为了解决这个问题就需要进入设备管理器中将设备的延 阅读全文
posted @ 2018-08-29 09:21 brifuture 阅读(388) 评论(0) 推荐(0)
摘要:1. 抽象协议AbstractProtocol 抽象协议AbstractProtocol定义CommManager与协议之间的接口。AbstractProtocol中的一些属性(如enabled)用于设置是否能够处理数据。 processData是AbstractProtocol中定义的回调函数,当 阅读全文
posted @ 2018-08-28 10:22 brifuture 阅读(418) 评论(0) 推荐(0)
摘要:通讯模块Communicator 通讯模块是整个项目设计中位于最底层的模块,用于处理与串口或网络等设备的通讯,所有设备的通讯通过CommManager类完成,上层软件设计时需要根据comm模块(主要是CommManager)提供的接口访问设备。通讯组件实现类的重要类是 QIODevice,所有通讯过 阅读全文
posted @ 2018-08-27 13:36 brifuture 阅读(1484) 评论(0) 推荐(0)
摘要:Qt学习(3)日志输出 普通的打印输出 用 QtCreator 开发 Qt 程序时, 经常需要向控制台打印一些参数。有时候是查看对象的属性是否被正确设置,有时候是查看程序是否执行了某一段代码,或者执行了多少次这一段代码。尽管使用调试模式可以一行一行的查看代码的执行情况,也可以看到执行代码后变量的相应 阅读全文
posted @ 2018-06-20 15:13 brifuture 阅读(22805) 评论(0) 推荐(2)
摘要:Qt 学习(2) Qt 的 QXmlStreamReader 在 Qt 应用程序中访问 XML 格式的文件数据,可以使用 [QXmlStreamReader][sreamreader] 对文件进行读取。关于 QXmlStreamReder 的使用,官方文档中有 [QXmlStream Bookmar 阅读全文
posted @ 2018-06-16 19:20 brifuture 阅读(672) 评论(0) 推荐(0)
摘要:Qt 学习 C++ 模版 QObject 提供一个十分有用的 api, ,这个函数接收一个模版参数,返回模版参数的类型(如果子对象可以造型成 T ),也就是说返回值已经做了 造型处理,这样就可以直接用特定的子类指针接收,使用起来非常方便。可以在对象的子类中寻找特定名称(objectName)的对象, 阅读全文
posted @ 2018-06-12 09:52 brifuture 阅读(800) 评论(1) 推荐(0)
摘要:Qt 串口连接 使用 Qt 开发上位机程序时,经常需要用到串口,在 Qt 中访问串口比较简单,因为 Qt 已经提供了 QSerialPort 和 QSerialPortInfo 这两个类用于访问串口。 使用 QSerialPort Qt 提供的 QSerialPort 类继承于 QIODevice, 阅读全文
posted @ 2018-05-30 20:17 brifuture 阅读(3993) 评论(1) 推荐(2)