
Qt
分享Qt开发中的点滴
DongDongBaJiaYou
Always believe that something wonderful is about to happen!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt便捷函数(获取桌面壁纸路径)
【代码】Qt便捷函数(获取桌面壁纸路径)原创 2024-12-12 21:23:16 · 198 阅读 · 0 评论 -
如何制作自己的字体文件.ttf
日常编程中,一些常用的符号可以直接用来当做图标使用,不需要引入过多的资源文件(例如:ico、png、svg等)十分方便!笔者发现iconfont网站可以选择自己需要的图标,制作成.ttf文件来直接使用!原创 2024-12-12 21:22:38 · 1573 阅读 · 0 评论 -
Qt中CMakeLists.txt解释大全(补充)
【代码】Qt中CMakeLists.txt解释大全(补充)原创 2024-12-06 16:27:10 · 219 阅读 · 0 评论 -
UNICODE编码特殊符号
平时编程中会用到各种各样的符号,有时不想去找图片,一些简单的符号,可以直接通过Unicode字符来获取: 以下是常用的Unicode特殊符号,建议收藏:原创 2024-12-06 16:26:32 · 1878 阅读 · 0 评论 -
Qt6.8安卓Android开发环境配置
最后又使用Qt Mantenance Tool进行了Qt6.7的Android环境安装,可以正常进行cmake工程构建。这里本人使用的是华为的Matepad SE,安装的是HarmonyOS4系统,支持安卓。需要在设备里开启"开发者模式"并且对PC进行授权,在QtCreator中就会找到该设备。但是在编译cmake工程时,遇到了Qt_FOUND为FALSE的情况,并一直解决不了。就可以在QtCreator下进行Android开发了!较新的设备,推荐使用arm64-v8a进行工程构建。原创 2024-11-28 16:58:10 · 1941 阅读 · 0 评论 -
gradle安装包下载(含国内镜像)
手动下载对应版本的gradle-x.xx-bin.zip包后,扔进该目录,再次编译即可!作者在此也提供一个gradle-8.10-bin.zip的下载资源!发现目录中的文件均为0KB,表明未下载成功。原创 2024-11-28 16:11:28 · 9536 阅读 · 0 评论 -
Qt中CMakeLists.txt解释大全
然而,从Qt5.15开始,Qt官方正式推荐使用CMake作为主要的构建系统,并在Qt 6中进一步加强了这一推荐。在Qt 5.15之前,虽然可以使用CMake进行构建,但Qt官方更推荐使用qmake。Qt从Qt5.15版本开始正式推荐使用CMake进行项目管理。原创 2024-11-25 15:29:31 · 1127 阅读 · 0 评论 -
QT_CONFIG宏使用
C:\Qt\Qt5.12.6\5.12.6\msvc2017_64\include\QtNetwork\下的qtnetwork-config.h中是有QT_FEATURE_ssl定义的。1)0或者未定义:这将导致一个编译时期的错误(有点类似C++11的static_assert,其实其幕后就是static_assert实现的)。看注释就知道了QT_CONFIG宏,其实是:实现了一个在编译时期安全检查,检查指定的Qt特性是否存在或是否可利用。2)-1:指定的Qt特性不可用。3)1:指定的Qt特性可利用。原创 2024-11-15 09:41:15 · 1061 阅读 · 0 评论 -
FluentUI使用
同时会在 Qt\6.8.0\msvc2022_64\qml\下,生成FluentUI文件夹,里面包含FluentUI库!测试程序中,会出现一个FluentUI样式的Button在界面中央!首先向Qt Qml FluentUI组件库的作者。原创 2024-11-13 19:04:07 · 2779 阅读 · 0 评论 -
Qt6在线安装慢的解决办法
二、命令行启动下载的qt-online-installer-windows-x64-4.8.1.exe。Qt从5.15版本开始,官方不再提供离线安装包,用户只能通过在线安装器下载并安装Qt。这样,原本要下载大半天的工作,网速好的话几十分钟就能搞定了!从官网或者国内镜像下载在线安装器,官网下载速度极慢。一、官网下载在线安装程序。原创 2024-11-13 16:58:02 · 1271 阅读 · 0 评论 -
Windows进程的睡眠与唤醒
在总体架构庞大、包含很多进程协同工作的系统中。有时把系统内某些后台进程睡眠,待需要时再唤醒,可以节约操作系统资源,提升系统运行效率。原创 2024-10-21 18:23:35 · 294 阅读 · 0 评论 -
图片写入GPS经纬高信息
近期项目中需要往java平台传输图片,直接使用QNetworkAccessManager和QHttpMultipart类即可,其他博文中有分享。Qt无法直接实现,查了很多资料,发现exiv2库可以使用,经过一番折腾后,最终成功向平台传输,在此做个记录。主要是平台接口对所传输图片有要求:需要包含GPS信息(经度、纬度、高度)。需要库exiv2,已提供下载。原创 2024-10-21 17:54:00 · 585 阅读 · 0 评论 -
Cryptopp进行RSA加密解密
因最近工作需要,要与一个java服务器进行部分数据交互,其中用户名、密码的加密方式为RSA非对称加密,故研究了一下使用Cryptopp库进行RSA的公钥加密。首先需要知道base64的公钥,保存为rsa-base64-public.key放到程序根目录下。Cryptopp库可以通过我的CSDN下载进行下载,同时也有另一篇文章介绍MD5的相关操作!在此做一个记录,方便日后自己查找,以及希望能够帮助大家!原创 2024-09-24 21:19:56 · 719 阅读 · 0 评论 -
Qt上传文件小记
然后再使用Qt发送命令,对比一下两者发送http请求数据的区别,这样可以快速找到问题所在,及时调整代码并测试。众所周知Qt网络http相关的类QNetworkAccessManager发挥着举足轻重的作用。普通的http:GET POST PUT DELETE已经耳熟能详,网上也有很多的文章有介绍到。代码中的warning1、warning2、warning3这三个地方需要注意,基本没什么问题。最近由于公司上线了云平台,需要用Qt与云平台进行对接,故拾起了network模块。原创 2024-08-29 17:02:09 · 657 阅读 · 0 评论 -
常用便捷函数
【代码】常用便捷函数。原创 2024-08-22 15:25:10 · 144 阅读 · 0 评论 -
QProcess启动多个外部程序
其次也可以使用QProcess的方法setWorkingDirectory()方法,但是实测有时有问题。最近需要使用不同参数将一个EXE启动多个进程,遇到了启动不成功的情况,在此做个记录。再者也可以使用QProcess的startDetached()方法的第三个参数。大家都知道Qt与外部程序通讯的其中一种方式:QProcess。后面两个方法测试过程中会出现启动不成功的情况。原创 2024-02-21 14:13:11 · 696 阅读 · 0 评论 -
Qt实现窗口吸附屏幕边缘 & 自动收缩
Qt实现窗口吸附屏幕边缘 & 自动收缩原创 2024-02-01 17:00:17 · 1437 阅读 · 0 评论 -
Qt实现类似ToDesk顶层窗口 & 不规则按钮
Qt实现类似ToDesk/迅雷顶层窗口;Qt不规则按钮实现;原创 2024-02-01 16:06:07 · 1174 阅读 · 0 评论 -
QSS样式表简单梳理记录
QSS样式表简单记录梳理记录原创 2024-02-01 15:13:51 · 303 阅读 · 0 评论 -
带数字的字符串排序Qt
但是遇到字符串中包含1、2、3、10、11、12、21、22、31这种时,顺序就会乱掉;日常开发中排序操作是很常见的,大多时候使用qSort默认方式,就可以满足需求;原创 2024-01-12 16:28:03 · 667 阅读 · 0 评论 -
Qt使用Cryptopp生成HMAC-MD5
Qt使用Cryptopp生成HMAC-MD5算法码原创 2023-12-08 16:51:52 · 755 阅读 · 0 评论 -
Qt重启windows服务
日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制)原创 2023-11-10 17:54:40 · 589 阅读 · 0 评论 -
窗口闪烁&QWidget多窗口鼠标透传&QWidget底色设置
窗口闪烁;鼠标透传;QWidget底色设置原创 2023-09-14 10:46:52 · 549 阅读 · 1 评论 -
qml使用QAbstractListModel作为数据源
但是后台数据的提供还是用qt c++的实现,MVC中即可用Model进行。主要在于beginRemoveRows&endRemoveRows中间进行的操作,将待删除元素取出,在model实际数据存储处进行remove,最后再将元素彻底delete。主要在于beginMoveRows&endMoveRows中间进行的操作,将待移动项取出并插入到新位置。二、又例如想进行元素的删除,也需要model进行支撑。一、例如想进行元素的移动,就需要model进行支撑。但是想要一些其他的功能,就需要自己去实现了!原创 2023-08-26 23:27:30 · 581 阅读 · 0 评论 -
QtWidgets和QtQuick融合(QML与C++融合)
1.2.也可以直接在其他类中直接返回该类指针,直接给qml进行使用(当然前提也是其他类也进行了注册,已经在qml里实例化了)。1.1.可以直接在qml中进行该类的实例化,进而进行访问(qmlRegisterType时需要添加参数);2.1.也可以直接继承QAbstractListModel等类,进行实例化,qml中可以直接访问相关。qmlRegisterType注册类时,带了namespace的类,类指针在qml中是不能够访问的。qml中访问只能访问类的指针,不能访问类对象;主要在于红框中的方法的重写。原创 2023-08-26 23:08:36 · 1353 阅读 · 0 评论 -
QtCreator指定Windows Kits版本
先说下事件起因:之前一直在用Qt5.12.6+vs2017在写程序,后面调研了一个开源库Qaterial,但是翻来覆去的编译都有问题,后面升级到了Qt5.15.2+vs2019来进行cmake的编译,搞定了Qaterial,但是返回来编译原来的工程,结果出错,而且还是C++库的问题,后面就找了资料,看了自己电脑里C:\Program Files (x86)\Windows Kits\10\Lib下有两个版本的sdk,vcvarsall.bat应该默认使用的是最新的sdk,因此出现了问题。原创 2023-08-26 21:59:24 · 1332 阅读 · 0 评论 -
QtCreator中设置自定义注释格式
另外QtCreator中支持Doxygen,在函数前直接打/**加回车,会直接进行函数的注释添加!QtCreator--工具--选项--文本编辑器--片段--组:C++--添加。点击Apply,并且Ok。原创 2023-08-18 15:20:35 · 487 阅读 · 0 评论 -
C++面试题
【代码】C++面试题。原创 2023-06-19 14:16:13 · 263 阅读 · 0 评论 -
Qt守护进程相关
【代码】Qt守护进程。原创 2023-06-15 18:01:23 · 729 阅读 · 0 评论 -
Qt多级表头(QTableView表头合并)
头文件的每个部分都由其section()指定的节ID描述,并且可以位于头文件中的特定visualIndex()中。它取代了Qt3先前用于相同目的的QHeader类,但使用Qt的model/view体系结构与item view类保持一致。每个头文件都有一个orientation()和若干节,由count()函数给出。A section指的是标题的一部分——根据方向,可以是行,也可以是列。对于水平标头,该部分相当于模型中的一列,而对于垂直标头,该部分相当于模型中的一行。原创 2023-06-14 22:17:48 · 3940 阅读 · 0 评论 -
std::map与QMap插入效率对比
结论:在C++11加持下,std::map的emplace看来是最好的方法了!上一篇文章介绍了std::map在普通operator[]赋值的流程。可以看到,使用emplace是优的!不管在写法还是效率上都是最优的!可以看到,使用insert是最优的!不管在写法还是效率上都是最优的!原创 2023-06-08 15:51:35 · 971 阅读 · 0 评论 -
std::map的使用
对于自定义类型Student而言,作为Value插入到std::map中,没有写默认构造函数,编译器报错,为了探明原因,就把Student类的几个重要函数都写了出来并且配合qDebug信息输出,找出了真正原因:std::map在插入新值的时候会先调用默认构造函数,然后调用赋值构造函数!原创 2023-06-08 11:47:32 · 378 阅读 · 0 评论 -
CTK编译没有ctkEventAdmin
Configure,Generate完成后直接Open Project使用VS进行编译,ctk源码编译,默认时不会生成下面这4个库的,如果需要使用插件间通讯,则需要将设置打开。CMake中将CTK_ENABLE_PluginFramework进行勾选,如下图。在my_build\CTK-build\bin\Debug下就有如下dll生成。接下来就可以使用CTK进行插件化编程了!原创 2023-05-22 15:24:55 · 190 阅读 · 0 评论 -
Qt使用CTK插件机制
Qt的插件机制当然也就是使用Q_DECLARE_INTERFACE、Q_INTERFACES、Q_PLUGIN_METADATA三个宏。其实CTK插件机制,还是应用的Qt的插件机制,只不过使用了中介者模式可以对自定义的插件进行管理并且提供可以互相通信的一个媒介。Qt的插件机制也是建立在Qt元对象系统基础之上的,Qt元对象系统主要提供了Qt的信号槽、RTTI、动态属性系统。第三个宏的作用是插件元信息&元信息获取&插件实例句柄获取的功能。前两个主要是RTTI的实现和插件有效性检测;原创 2023-05-15 11:44:12 · 679 阅读 · 0 评论 -
自定义带复选框QComboBox,包括代理
工作中不乏这样一个需求:给ComboBox加上复选框,并且可以实时显示勾选内容。扩展到Model-View框架中就形成了一个代理,对单元格中的内容进行自定义。原创 2023-05-08 17:44:18 · 1874 阅读 · 0 评论 -
Qt文件编码转换
主要使用QFile、QTextStream及QTextCodec三个类,先进行文件编码的识别(ANSI、UTF-8、UTF-8 BOM、UTF-16 LE、UTF-8 BE),再进行文件编码的转换。主要用于Qt项目中源代码的批量转换,从ANSI或UTF-8转换为UTF-8 BOM。原创 2023-04-24 11:38:08 · 2213 阅读 · 0 评论 -
Qt自定义饼图(重叠、切片、圆环、高亮)
由于项目中遇到饼图各个切片重合的情况,虽然可以通过设置透明度进行颜色融合,但仍然不能满足需求,思考再三,想出普通饼图+环形外框的方案,大家一起来看看效果吧!原创 2023-03-23 14:31:57 · 502 阅读 · 0 评论 -
Qt水波进度条
【代码】Qt水波进度条。原创 2023-03-23 10:36:01 · 443 阅读 · 0 评论 -
Qt自定义QAbstractItemModel实现文件夹/文件树
VVTreeItem包含type、value、父节点、子节点4个必要属性,及几个附加属性。另外对于View中的数据,可以自定义展示方式,使用代理。QAbstractItemModel是。原创 2023-03-22 17:55:30 · 1510 阅读 · 3 评论 -
Qt撤销/回撤框架
它将撤消和重做请求转发到活动堆栈,活动堆栈是与用户当前正在编辑的文档相关联的堆栈。step2:在操作的地方,创建一个QUndoCommand实例,并且push进QUndoStack,此时会自动调用Command的redo()方法;想必大家都有这样的需求:Ctrl+Z、Ctrl+Y进行用户操作的撤销和回撤,Qt框架中有Qt's Undo Framework供大家使用。它包含了在文档上执行的所有命令,并可以通过撤消或重做它们来前后滚动文档的状态。单击视图中的命令会将文档的状态向后滚动或转发到该命令。原创 2023-03-22 16:44:25 · 1544 阅读 · 0 评论