- 博客(95)
- 资源 (7)
- 收藏
- 关注
原创 VS2015+QT5程序发布
核心流程:VS2015 编译 Release 版本 → Advanced Installer 新建项目 → 导入程序文件 → 配置依赖 / 快捷方式 → 构建安装包;关键要点:必须选择 Release 版本的程序文件,且勾选对应依赖(如.NET/VC++ 2015 运行时);进阶技巧:可将 Advanced Installer 项目集成到 VS2015,实现一键打包,提升效率。如果打包过程中遇到 “依赖检测失败”“安装包构建报错” 等问题,告诉我具体的错误提示,我会帮你定位并解决。
2026-01-29 09:30:22
411
原创 sqlite数据库链接池二
/ 销毁连接池,关闭所有的数据库连接。// 创建数据库连接。// 获取数据库连接。// 已使用的数据库连接名。// 未使用的数据库连接名。// 用来创建连接的名字,保证连接名字不会重复。// 取得连接的时候验证连接有效。// 创建连接超时,返回一个无效连接。// 销毁连接池的时候删除所有的连接。
2025-12-13 10:46:53
903
原创 VS2015 +QT5.9.9 环境问题注意事项
1、自定义库路径设置2、QT环境库路径配置3、本地文件夹路径设置项目选中右键 切换属性页面,左侧C/C++ 节点选择常规, 在附加包含目录中增加源文件的路径即可。4、中间文件输出路径设置5、目标文件输出路径设置。
2025-12-05 18:52:17
198
原创 EtherCAT基于SOEM建立主站程序
功能:初始化SOEM,将socket绑定到ifnameecx_init函数定义在ethercatmain.h文件,其有两种参数形式,由于大部分函数都是这两种格式,所以后文将不做区分处理。函数方法在ethercatmain.c中定义如下*/*/{...}*/{...}
2025-12-03 11:22:02
512
原创 CANopen 协议中的 SDO 通信接口
结合之前的ec_init(嵌入式控制器初始化),新增的和ec_SDOread核心指向——SDO是 CANopen 协议的核心对象之一,全称,专门用于(比如向 EC 写入配置参数、读取 EC 的状态数据)。ec_init是初始化 EC 的基础硬件和通信协议(含 CANopen/SDO),是通过 SDO 向 EC 写数据(配置),ec_SDOread是通过 SDO 从 EC 读数据(状态),三者构成 CANopen 架构下 EC 的 “初始化 - 配置 - 监控” 完整流程。
2025-12-03 10:45:04
926
原创 VS2015 调用QT5.9.9 的库文件 需要设置QT库的路径
作用:启用 Qt 模块宏,避免编译时 “未声明标识符” 错误。选中「预处理器定义」→ 点击「编辑」;添加以下宏(QThread依赖):plaintextQT_NO_DEBUG (仅 Release 模式添加,Debug 模式不加)_CRT_SECURE_NO_WARNINGS (禁用 CRT 安全函数警告,可选)点击「确定」。
2025-12-02 19:04:53
419
原创 打乱qmap元素的排序
1、qmap的元素会自动进行排序:默认升序要打乱 QMap 的元素顺序,需要先理解 QMap 的特性:QMap 是,其元素会自动按照键(key)的大小排序(默认升序),且内部结构(通常为红黑树)保证了这种有序性,无法直接修改其内部排序逻辑。因此,“打乱 QMap 排序” 的实际解决方案是:将 QMap 的元素提取到可随机排序的容器(如 QList)中,再打乱该容器的顺序。
2025-11-15 09:42:18
442
原创 如何在QT的pro文件中判断当前使用arm架构还是x86
在 Qt 的.pro文件中,可以通过变量获取当前的 CPU 架构信息,结合linux平台判断,来区分和架构。
2025-09-08 13:48:10
543
原创 QT 字节大小端转序方法
这两个函数可以用于各种整型数据类型,如quint8、quint16、quint32、quint64等。通过这些函数,可以方便地进行大小端字节序之间的转换。// 转换为小端字节序。在Qt中,可以使用qToLittleEndian和qToBigEndian两个函数来实现大小端字节序之间的转换。// 转换为大端字节序。
2025-08-18 16:09:07
823
原创 使用 libmodbus 实现 Modbus 通信
libmodbusModbus RTU:基于串行通信(如 RS-232、RS-485)。Modbus TCP:基于以太网通信(TCP/IP)。:基于 ASCII 编码的串行通信。主站和从站功能:支持 Modbus 主站(Master)和从站(Slave)的实现。libmodbus跨平台:支持 Linux、Windows、macOS 等操作系统。易用性:提供了简洁的 API,方便开发者快速上手。高性能:基于事件驱动模型,支持高并发通信。libmodbus。
2025-08-15 12:48:20
1237
原创 QT 程序发布时候调用自定义动态库
摘要:本文介绍了Qt项目中动态库路径配置的两种方法。首先,在pro文件中添加QMAKE_LFLAGS设置运行时库搜索路径,支持ORIGIN、ORIGIN/lib和ORIGIN/../lib三种路径格式。其次,针对动态库链接失效问题,建议删除无效符号链接并手动重建,示例给出了创建三个版本号链接的具体命令。这些方法可解决动态库加载和链接相关的常见问题。
2025-08-08 14:36:44
295
1
原创 Arm Qt编译Qt例程出错 GLES3/gl3.h: No such file or directory
既然包含了不存在的文件,那么对应解决方案可以取消包含该文件或添加该文件到对应目录,或者替换编译工具。在之前博客配置成功的交叉编译环境,编译Qt5.14.8自带部分Example时,出现。交叉编译环境:YC6254 开发板提供的 5-编译工具链->qt交叉编译工具。经查找,是qopengl.h中包含了该文件,如上图所示。qconfig.h头文件中(全路径为:)这个宏,查找该宏定义出处,发现是。经测试,以上三种方案都是可行的。包含该头文件的原因是定义了。方案一:取消包含该头文件。
2025-08-08 11:14:59
382
原创 QT 定时器的任务中是不能直接控制级别相同的定时器的启动和停止的
2、定时器可以共享甚至可以改变主进程的变量信息,但却不能改变同能级别的定时器启停操作,千万要注意;1、有时候我们会简单的完成一些任务,仅仅需要几个定时器就能完成,省去了采用多线程的烦恼;3、可以通过主进程的类变量实现相关的控制。
2025-07-28 18:22:37
131
原创 Windows 无法验证此设备所需的驱动程序的数字签名”的问题
新笔记本电脑,带Windows7旗舰版系统,为了安Windows 10系统,搞了个Ghost版的Win10安装在D盘,安装挺顺利的,但是,安装后,到设备管理器中,发现有两个设备有黄色标志,这表明,有设备的驱动程序没安装上,还好,我有购机附带的驱动光盘,把驱动程序提取出来,安装即可,没想到的是,安装时,居然提示“数字签名,是微软为了Windows系统更稳定,搞了个数字签名,当然有好的一面,但参加数字签名要钱,很多公司没加入,所以他们的硬件驱动程序没有签名,但并不代表就不能使用,微软为了兼容这些产品,设置了。
2025-06-24 18:30:54
4781
原创 自定义类moveToThread
2,其它的一次性任务或者间歇性任务尽量都用moveToThread,线程执行的任务与 Qt 的事件系统(如信号和槽)交互。2,把子线程的finished信号和自定义类对象的deleteLater槽连接,结束子线程则自动析构自定义类的对象。采用moveToThread的方式,将槽函数所在对象移入子线程,发送信号函数在主线程,槽函数在单独的子线程。需要运行的代码应该放到一个QObject的子类中,然后将该子类的对象moveToThread到新线程中。允许在不同的线程中运行任务,同时保持与主线程的通信。
2025-05-07 14:13:41
250
原创 QThread和connect的关系
比如while循环等,这个时候sender在发送信号,槽函数是不会响应的,除非槽函数工作在sender线程中,也就是要把参数设置为DirectConnection或者槽函数所在线程开启事件循环。当信号发送时候,槽函数不会直接调用,直到接受者线程取得控制权时进行事件处理循环时候,槽函数才会调用执行。信号发送至目标线程的事件队列(发送信号和槽函数位于不同线程),交由目标线程处理,当前线程继续向下执行。直接在发送信号的线程中调用槽函数(无论发送信号和槽函数是否位于同一线程),等价于槽函数的实时调用。
2025-05-07 14:12:41
385
原创 QT 在圆的边界画出圆
QT 在圆的边界画出圆QT 在圆的边界画出实心圆在Qt中,要实现在圆的边界上绘制图形,你需要使用QPainter类来在QWidget或其子类的paintEvent中绘制。下面我将通过一个简单的例子来说明如何在Qt中绘制一个圆,并在其边界上绘制其他图形(例如,线条或点)。
2025-05-05 19:06:59
1011
1
原创 Axure打开html文件失败,解决方案:
2、文件后缀名改为 axure-chrome-extension.rar ,解压后到axure-chrome-extension。选择刚刚解压的文件axure-chrome-extension文件夹,配置完成,打开html试试吧。3、打开Chrome浏览器,找到扩展程序。1、在原型文件中找到。
2025-05-04 15:12:30
1566
原创 VSCode 配置window环境实现编译linux代码
1、安装WSL,如果安装失败,需要在启动和关闭window服务中,勾选启动支持window子系统linux选项,重启系统,安装WSL环境,默认安装为ubuntu最新版本;需要手动编写Makfile文件, 使用对应版本的QT的qmake, 之后再用make命令进行编译生成可执行程序。<1> Chinese (simplified)简体中文, 安装好后,软件界面的右下角会弹出通知,并附带。2、可以通过window Miscrosoft Store 面板,选择安装linux系统的版本;具体后续进行补充操作。
2025-04-29 17:32:25
537
原创 QT文件和文件夹拷贝操作
if (fileInfo.isDir()) { // 当为目录时,递归的进行copy。else { //当允许覆盖操作时,将旧文件进行删除操作。dstDir.exists()) { //目的文件目录不存在则创建文件目录。QFile::exists(srcPath)) { //源文件不存在。//(源文件目录路劲,目的文件目录,文件存在是否覆盖)//(源文件文件路径,目的文件路径,文件存在是否覆盖)/// 进行文件copy。
2025-04-21 18:34:55
1001
原创 windows11如何取消Microsoft账号和本地账号的绑定
3、再次登录后,显示是本地账号,但是微软账号依然存在,删除HKEY_CURRENT_USER\Software\Microsoft\IdentityCRL和HKEY_USERS\.DEFAULT\Software\Microsoft\中的IdentityCRL项,再次在开始菜单里注销账户;鉴于 Microsoft的设定,必须要设置联网账号才能登陆,导致我的一些功能没法用,例如Windows Hello,所以我查到了如下的方法,希望能有帮助。4、重新登录后,在设置-账户-电子邮件和应用账户下,单击微软账户。
2025-02-08 12:06:01
3119
原创 Ubuntu20系统增加开机自启动任务
1、终端执行命令gnome-session-properties 根据弹窗的窗口,进行添加开机自启动的任务信息;
2025-02-06 16:26:42
421
原创 Mysql DESCRIBE
创建完数据表之后,经常需要查看表结构(表信息)。在中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。
2025-01-09 11:24:37
1133
原创 QT自定义控件在QScrollArea中实现
Q_OBJECTprotected:// 创建一个右键菜单QAction *addAct = menu.addAction("添加");QAction *removeAct = menu.addAction("移除");// 将菜单显示在鼠标点击的位置// 处理添加动作// 处理移除动作pro 需要添加:2、如何实现QScrollArea控件内部整齐布局自定义的下卡片呢?
2025-01-04 10:42:03
372
原创 sftp+sshpass传输文件嘎嘎香
实现场景,要求客户端定时将本地的日志文件传输到服务器。工作环境ubuntu,注意不通操作系统的版本不通,依赖的工具的版本也有所不同实现目标需要客户端满足安装工具:1、下载安装sshpass---安装命令:sudo apt-get install sshpass---使用实例:---传输文件夹实例:est1为所需传输的文件夹;root是登录服务器的用户,后接着IP地址和将要存储的路径;-p后的123456是登录服务器的密码。
2024-12-12 17:46:17
1496
原创 解决 Too many open files 问题
删除最后一行 echo -e "# add_config" | sudo tee -a /etc/security/limits.conf。#查看限制结果 ulimit -a。
2024-12-09 15:51:00
662
原创 mysql连接数量设置(too many connections)
修改mysql的配置寄文件my.ini。,配置好之后再次查看最大连接数的量。修改完成之后重启服务就会生效。
2024-12-02 16:42:26
1560
原创 设置mysql远程访问
现在应该可以从任何远程机器通过之前创建的用户凭据远程访问Ubuntu上的MySQL服务了。记得在防火墙中开放3306端口(MySQL的默认端口)以允许远程连接。登录到MySQL服务。修改MySQL配置文件(my.cnf)。创建允许远程访问的用户或更新现有用户。Ubuntu 设置mysql远程访问。这一行或者将其值改为。重启MySQL服务。
2024-10-22 14:20:47
1290
原创 涛思数据库安装和卸载
如果是更新安装,当缺省配置文件( /etc/taos/taos.cfg )存在时,仍然使用已有的配置文件,安装包中携带的配置文件修改为taos.cfg.org保存在 /usr/local/taos/cfg/ 目录,可以作为设置配置参数的参考样例;卸载安装包的时候,将保留配置文件、数据库文件和日志文件,即 /etc/taos/taos.cfg 、 /var/lib/taos 、 /var/log/taos。数据库缺省目录:/var/lib/taos, 软链接到/usr/local/taos/data;
2024-09-19 17:09:43
2847
原创 Taos查询失败
1、查询SQL语句中,如果用到最大值或者最小值对时间戳字段的时候,就会失败,float 类型和int类型支持,注意一下该类问题;终端执行命令,也可以查询到结果。执行该命令之后,结果成功。
2024-08-26 14:08:09
678
1
原创 QT5 - ubuntu18 -JSON 菜鸟学习
QJsonDocument 类用于读和写 JSON 文档。一个 JSON 文档可以使用 QJsonDocument::fromJson() 从基于文本的表示转化为 QJsonDocument, toJson() 则可以反向转化为文本。解析器非常快且高效,并将 JSON 转换为 Qt 使用的二进制表示。已解析文档的有效性,可以使用!isNull() 进行查询。如果要查询一个 JSON 文档是否包含一个数组或一个对象,使用 isArray() 和 isObject()。
2024-07-18 10:20:29
1002
原创 QT+window 代码适配调试总结(三)
1、开发测试环境为:A: window10 64位B: QT版本为4.8.6C:采用VS2017 C++ Compiler 9.0 (x86)编译器版本根据总结(二)经验,开发环境的可执行程序显示正常;2、新的环境运行的时候显示乱码;在main.cpp 文件中增加下面一段代码:#else#endif#else#endif解决之后:#else#endif#else#endif调整之后,可执行程序在新的环境下运行,界面的中文乱码解除。
2024-07-17 11:10:14
528
基于linux环境中调用excel库,实现报表打印功能
2023-03-09
介绍在ubuntun环境下docker的操作过程
2023-02-20
COM组件-JS调用测试-源代码
2013-09-13
log4cpp-1.1.3代码交叉编译说明
2020-10-15
ping-C++代码实现.docx
2020-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅