随笔分类 - Qt
摘要:## 效果  ## 下载地址 https://github.com/confidentFeng/CustomControl.git ## 项目结
阅读全文
摘要:在嵌入式开发时,不能通过鼠标键盘输入是很常见的。这时候就需要通过软件层,实现软键盘和输入法来满足用户需求。不过不需要自己造轮子,网上有很多可以参考的开源虚拟键盘,即使不完全符合自己要求,也可以参考着修改下。 下面介绍本人推荐的几个虚拟键盘,如果有侵权,可以联系删除或整改。 ## 开源虚拟键盘推荐 #
阅读全文
摘要:这里使用 Qt 模仿实现了 Win10 系统下的 Wifi 列表,主要用的是 QlistWidget + xml + cmd命令行 实现。 ## 效果 
阅读全文
摘要:## forever 死循环宏定义,和 while(1) 类似,其底层使用 for( ; ; ) 实现,使用方法如下: ```c++ forever { // ... } ``` ## foreach ```c++ QStringList strList; QString str; foreach(
阅读全文
摘要:本文主要积累一些常用宏定义,有些定义在头文件 QtGlobal 中。 ## QT_VERSION ,QT_VERSION_CHECK ```c++ // 主要用于条件编译设置,根据Qt版本不同编译不同的代码 // 我这里用的Qt版本是5.12.2,因此软件走的分支是isHighVer = false
阅读全文
摘要:## 一、注释: 用 # 注释,表示到行尾均为注释。 ## 二、include: 包含别的文件,例如:`include xx.pri`。类似于 c++ 的 #include。。。 ## 三、平台宏: `win32/macx/unix/linux-g++`等,分别对应于`windows、mac、uni
阅读全文
摘要:一、不太推荐使用 QPainter 绘制视频 在 Qidget 上显示视频,一般是通过 paintEvent,由于 QPainter 不是用来渲染视频的,是用来自绘 GUI 的,用的是 CPU 渲染,而不是 GPU,缺乏显卡加速,性能达不到绘制视频的要求。另外,视频绘制也不应该使用事件驱动,使用事件
阅读全文
摘要:一、前言 在最近的项目中,发现执行 Qt 程序时,有些情况下的 CPU 占用率奇高,最高高达 100%。项目跑在嵌入式板子上,最开始使用 EGLFS 插件,但是由于板子没有单独的鼠标层,导致鼠标移动起来卡顿,很不流畅,所以换成了 LinuxFB 插件。但是如果 CPU 占有率高了的话,也会导致鼠标卡
阅读全文
摘要:一、Qt 窗口绘制原理 最基本的原理是:绘制是在主线程中完成的。主线程是什么,可以理解为就是 main() 函数,main()函数最后需要调用 QApplication 的 exec() 函数,这个 exec() 里面是个死循环,每次循环调用一次 QApplication 的 processEven
阅读全文
摘要:一、效果 二、代码 Widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPushButton> #include <QPropertyAnimation> #include <QDebug> class W
阅读全文
摘要:一、Qt动画类介绍 | 类名 | 功能介绍 | | | | | QAbstractAnimation 动画基类 | 提供基本的动画属性和接口,它有两个子类 QVariantAnimation 和 QAnimationGroup。QAbstractAnimation 是其他所有类的父类。它提供了基础的
阅读全文
摘要:下面实现一个最基本的架构项目。 一、程序的代码目录管理 代码目录,就是你存放源码的目录,一般程序都划分为各种模块来实现,所以为每个模块单独创建一个目录来存放,是比较推荐的存放方式。 工程文件的写法 pro: QT += core gui network greaterThan(QT_MAJOR_VE
阅读全文
摘要:MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型)-是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 View(视图) -是应用程序中处理数据显示的部分。通常视图是依据模型数据
阅读全文
摘要:除了极小的微型 demo 级别项目外,其余项目建议用 pri 分门别类不同文件夹存放代码文件,方便统一管理和查找。同类型功能的类建议统一放在一起,如果该目录下代码文件数量过多,也建议拆分多个目录存放,比如系统配置的窗体放在一个目录下,日志管理的窗体放在一个目录下。 很多通用功能,多个项目都会用到,可
阅读全文
摘要:这里讲解一些全局类,一般都放在 Util 这个文件夹内。Util 是工具的意思,一般来说,常常用来描述和业务逻辑没有关系的数据处理。 一、全局配置文件 全局配置文件管理类 AppConfig 用来读写对应项目的配置文件。格式可以是 ini、xml、json 等,小项目建议 ini,怎么方便怎么来,相
阅读全文
摘要:## 效果 上一篇博客:[Qt 实现右下角消息通知队列](https://www.cnblogs.com/linuxAndMcu/p/16982494.html) 的通知是会定时关闭销毁的,最多同时显示 5 个通知。但有些情况下,不想前面的通知被销毁,要求保留可以一直浏览的话,就不能用了,所以改写了
阅读全文
摘要:效果 下载地址 https://github.com/confidentFeng/QtAppProject 关键代码 NotifyWidget.cpp // 显示下一条通知 void NotifyManager::showNext() { // 如果通知数目超出限制,则显示"通知当前数目界面" if
阅读全文
摘要:一、简介 QTabWidget 为选项卡小部件,提供一个选项卡栏(参见 QTabBar)和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,选项卡栏显示在页面区域的上方,但是可以使用不同的配置(请参见 TabPosition)。每个选项卡都与不同的小部件(称为页面)相关联。页面区域中只显
阅读全文
摘要:效果图 代码下载 GitHub 下载地址:https://github.com/confidentFeng/QtAppProject 添加项 void addItem(QString name); // 添加项 // 添加项 void Widget::addItem(QString name) {
阅读全文
摘要:一、简介 参考自大神 去冰三分糖 的 Qt——设计颜色编辑选取对话框(如有侵权马上删除),看到这个颜色编辑框挺好看的,所以检出学习并修改了一下。 原版本是 Qt4 版本的,界面使用 Qt Designer 设计的,笔者比较习惯使用纯代码的方式编写界面,所以界面都改写为用纯代码方式实现,并且将其改为
阅读全文