Qt
文章平均质量分 67
分享Qt开发技术。
插件开发
熟练开发PS插件、AI插件、AE插件、CDR插件、3DMax插件和其它各类插件。
展开
-
ubuntu22.04-编译安装Qt5.15.3-C++
如果您是在2024年执行此操作,请务必检查Qt 5.15源代码与当前Ubuntu 22.04系统组件的兼容性,以及是否有新的已知问题需要解决。如果有可能,建议升级到更高版本的Qt,或者寻找社区维护的适用于Ubuntu 22.04的Qt 5.15 PPA。在Ubuntu 22.04 LTS(Jammy Jellyfish)环境下编译Qt 5.15,由于Ubuntu 22.04的官方仓库不再提供Qt 5.15系列的支持,您需要从源代码编译。访问Qt官网的Archive部分下载Qt 5.15的源代码包,例如。原创 2024-02-07 08:10:56 · 1896 阅读 · 0 评论 -
QTabletEvent-Qt-如何使用数字手写板,并捕获相关事件?
是处理来自图形平板设备输入的事件类。当用户使用数位板(如Wacom等品牌)与应用程序交互时,这些事件会被发送到相应的QWidget或其子类上。如果你想要在QWidget中捕获并响应来自数位板的输入,例如压力、倾斜角度、旋转信息或者精确笔触,你需要重载QWidget的相关事件处理函数来处理。函数会捕获所有类型的平板事件,并根据不同事件类型输出相关信息。你可以根据实际需求修改此函数以实现具体功能,比如绘画应用中的压力敏感绘图等功能。以下是一个简单的例子,在一个自定义的QWidget中处理。原创 2024-02-06 11:26:24 · 571 阅读 · 0 评论 -
Qt-互斥量-临界区-QMutex-QMutexLocker-QReadWriteLock
是Qt提供的一种便捷类,用于自动管理QMutex对象的锁定和解锁过程,可以有效避免忘记解锁互斥量导致的死锁问题。是Qt提供的互斥量类,它实现了互斥锁的功能。当一个线程对某个资源进行访问时,可以使用QMutex进行锁定,这样其他尝试获取该锁的线程将被阻塞,直到拥有锁的线程释放它。在一个多线程环境下,通常会有多个读取者线程同时访问共享资源(但不能同时有写入者),而写入者线程在进行写操作时需要独占资源。是Qt中提供的一种更为灵活的锁机制,它允许更高的并发性,因为它区分了读锁和写锁。原创 2024-02-02 11:25:34 · 1038 阅读 · 0 评论 -
win32-注册表-32位-64位-读写值-Qt-C++
注册表,是windows系统保存配置的地方,64位系统为了兼容32位,又做了许多兼容的设计,才出现了这些过渡的配置。原创 2023-10-20 08:12:04 · 455 阅读 · 0 评论 -
Qt-QImage-convertTo-copy-convertToFormat-格式转换
QImage是Qt中复杂的图像处理对象,有利于生成指定图像结果。原创 2023-09-26 12:34:34 · 498 阅读 · 0 评论 -
Qt-键盘消息的传递-键盘消息的获取-C++
QKeyEvent 类用来描述一个键盘事件。当键盘按键被按下或者被释放时,键盘事件便会被发送给拥有键盘输人焦点的部件。QKeyEvent 的 key() 函数可以获取具体的按键,对于 Qt 中给定的所有按键,可以在帮助中查看 Qt: :Key 关键字。需要特别说明的是,回车键在这里是 Qt::Key_Return;原创 2023-09-20 11:47:10 · 1283 阅读 · 0 评论 -
Qt-32位程序使用64位注册表时注意事项?
需要显示指定采用64位注册表。而不能使用QSettings::NativeFormat。原创 2023-09-20 10:48:33 · 108 阅读 · 0 评论 -
Qt-QTransform-内存结构-仿射变换-工作原理-C++
QTransform是Qt中推荐的矩阵变换类。转换指定如何平移,缩放,剪切,旋转或投影坐标系,通常在渲染图形时使用。QTransform类支持矩阵乘法,加法和减法,并且可以流式传输和比较该类的对象。使用改对象时,需要清楚Qt视图使用的坐标系。逻辑视图和物理视图,都为x值向右增加;y值向下增加。QTransform类在此环境中使用。QTransform实现的矩阵乘法,点向量在前,乘以矩阵,依次实现变换效果。使用QTransform进行仿射变换时,一定要注意坐标空间,X向右为正,Y向下为正。原创 2023-09-08 18:02:27 · 678 阅读 · 1 评论 -
Zint-条码生成软件-命令行调用-一维条码和二维条码
Zint项目旨在提供一个完整的跨平台开源条形码生成解决方案。该软件包目前包括一个基于Qt的GUI,一个命令行可执行文件和一个带有API的库,允许开发人员访问Zint的功能。希望Zint提供的解决方案能够为专业用户提供足够灵活的解决方案,同时尽可能多地处理从输入数据到条形码图像的轻松转换。构成Zint项目主要组件的库目前能够以超过50种条形码符号(条形码类型)对数据进行编码,对于每种条形码符号,都可以从Unicode (UTF-8)或原始8位数据流转换数据。原创 2023-07-14 11:06:01 · 1308 阅读 · 1 评论 -
Qt-QProcess-启动子进程-控制台进程隐藏-获取子进程标准输出和返回码
当有新的标准输出数据可⽤时,它也会发出readyReadStandardOutput()信号,⽽当有新的标准错误数据可⽤时,它会发出readyReadStandardError()信号。⽆需调⽤read()函数,readLine()函数或getChar()函数,⽽是可以通过调⽤readAllStandardOutput()函数或readAllStandardError()函数显式地从两个通道之⼀读取所有数据。这样生成的程序,窗口需要程序编码创建,不创建则没有窗口,从而达到无显示的隐藏效果。原创 2023-02-21 11:03:22 · 3373 阅读 · 2 评论 -
Sandboxie-沙箱软件-Plus版本(Qt)-主框架程序-SandMan.exe-创建语言文件-tr-Qt-语言国际化
沙箱软件的增强版本采用Qt架构开发,核心模块与经典版本相同,本文主要介绍SandMan.exe这个主程序代码。. . . . . . 省略一部分初始化代码return ret;CSandMan这个类继承至QMainWindow,是Qt典型的主窗口。if(!CreateUI();if(!原创 2023-02-18 09:55:25 · 1048 阅读 · 1 评论 -
Qt-源码部分编译-C++
opensource 使用 opensource 版本的Qt(相对于 -commercial 选项)-debug 只编译出 debug 版本,是默认选项(相对于 -release 选项)-shared 使用共享库,是默认选项(相对于 -static 选项)-no-qml-debug 不编译 qml debug 的支持。-debug-and-release 两种版本都编译。-no-openssl 不编译 openssl。-iconv 开启 iconv 的支持。-no-iconv 不编译 iconv。原创 2023-02-03 08:04:56 · 472 阅读 · 0 评论 -
Qt-QObject-对象树模型-查找子控件-类方法信息-QDebug信息重定位-调用槽函数
QObject 以对象树的形式组织起来。当为一个对象创建子对象时,子对象会自动地添加到父对象的children()列表中。父对象拥有子对象的所有权,比如父对象可以在自己的析构函数中删除它的孩子对象。使用findChild()或findChildren()通过名字和类型查询孩子对象。在元数据中含有此对象的函数方法信息。含方法在源代码中的名称,及按序号调用的函数内存地址。可以将QDebug函数信息输出到指定控制台,文件或者其它载体上。QObject的元数据中含有此对象的类层次信息。如有疑问,敬请留言。原创 2023-02-01 08:31:54 · 677 阅读 · 0 评论 -
Qt-C++-信号槽-调用形式-逆向分析-槽函数定位
从上面的源码可知,如果需要真正的逆向定位槽函数,关键在于找到qt_static_metacall函数,找到qt_meta_stringdata_QtConnect所在位置可知槽函数的源码名称。qt_static_metacall函数是当前类对象槽函数的上级函数,可以根据此特征,在一些有提示的按钮上,快速找到此函数。信号槽是一种观察者模式的实现。是Qt的核心骨架之一。按序号索引上级函数。如有疑问,敬请留言。原创 2023-01-31 09:26:27 · 795 阅读 · 0 评论 -
Qt-C++-QMetaObject-元数据类-存储Qt类的基本信息-槽函数逆向定位
从上面的源码可知,如果需要真正的逆向定位槽函数,关键在于找到qt_static_metacall函数,找到qt_meta_stringdata_QtConnect所在位置可知槽函数的源码名称。qt_static_metacall函数是当前类对象槽函数的上级函数,可以根据此特征,在一些有提示的按钮上,快速找到此函数。在qt_meta_stringdata_QtConnect 这个变量中,保存了槽函数调用名称,在qt_meta_data_QtConnect中有调用函数的序号索引。如有疑问,敬请留言。原创 2023-01-31 09:22:23 · 765 阅读 · 2 评论 -
Qt-获取系统路径-系统目录-常用目录-windows-mac-android-linux-ios
ConstantValue0返回用户的桌面目录。这是一个通用值。在没有桌面概念的系统上,这与 QStandardPaths::HomeLocation 相同。1返回包含用户文档文件的目录。这是一个通用值。返回的路径永远不会为空。2返回包含用户字体的目录。这是一个通用值。请注意,安装字体可能需要额外的、特定于平台的操作。3返回包含用户应用程序(可执行文件、应用程序包或它们的快捷方式)的目录。这是一个通用值。请注意,安装应用程序可能需要额外的、特定于平台的操作。原创 2022-09-15 12:34:59 · 2036 阅读 · 0 评论 -
Qt-qrc资源文件-rcc打包-程序调用-ZIP压缩和解压-安装程序制作参考
打开xxx.vcxproj工程文件,搜索“Globals”在文件中找到原创 2022-08-21 17:21:31 · 1873 阅读 · 0 评论 -
Qt-Json数据处理-转字符串-字符串转Json对象-中文处理
文章目录1.Json对象2.作者答疑1.Json对象 在软件实践中,经常遇到的问题就是需要将数据转为字符串,传输和通信,然后再转为原来的对象进行进一步的计算。而在Qt中,就提供了与Json的相互转换来解决此类问题,主要是使用QJsonDocument和QJsonObject两个对象,源码示例如下所示:#include <QJsonObject>#include <QJsonDocument>/*转为字符串*///构建JSON对象QJsonObject json;j原创 2022-05-06 08:30:32 · 3277 阅读 · 0 评论 -
C++-加载指定文件夹的动态链接库-Qt-导出函数申明-修改窗口过程
加载指定文件夹的动态链接库原创 2022-04-20 12:39:21 · 897 阅读 · 0 评论 -
Qt-水平垂直动态布局-实用解析-QHBoxLayout-QVBoxLayout
Qt是一个具有强大生命力的C++开发套件集合,可以非常迅速的按照客户需求构建对应的软件产品,本文针对QHBoxLayout和QVBoxLayout两个类来讲解,如何采用代码来动态构建窗口界面。1.QHBoxLayout和QVBoxLayout源码解析从官方文档查阅,该类用于构建水平布局。类源码如下所示:class Q_WIDGETS_EXPORT QHBoxLayout : public QBoxLayout{ Q_OBJECTpublic: QHBoxLayout();原创 2022-03-25 04:45:00 · 5457 阅读 · 0 评论