- 博客(54)
- 资源 (2)
- 收藏
- 关注
原创 Qt进程间通信QLocalSocket客户端无法接收消息
连接和服务端发送均正常,此时问题定位到客户端这边,检查代码,客户端连接服务端读写数据方式有问题,此处写成了QIODevice::WriteOnly,数据接收的方式应为QIODevice::ReadOnly。使用QLocalSocket和QLocalServer实现进程间通信,客户端和服务端连接建立成功,服务端消息发送也正常,但客户端无法接收服务端发送过来的消息。
2024-06-12 17:36:26
282
原创 Qt中ui界面的stylesheet转换为代码设置
使用R前缀修饰字符串字面量(raw string literal)的主要作用是允许字符串中包含反斜杠(\)活着换行(\n)而无需对其进行转义。多语言翻译时,有些翻译文本内容过长,无法全部显示出来,需要改变部分按钮字体的大小。在针对有多级结构的风格设置时,代码中调用setStyleSheet不生效。注:需将有效样式表中的内容整体复制过来,不可有改动,否则可能会设置不生效;直接将样式表中的内容复制到qstring字符串变量中,界面样式没有变化。
2024-04-26 16:56:44
296
原创 Qt显示对话框程序崩溃
当 QDialog::exec() 被调用时,它会进入一个局部事件循环。如果 Qt::WA_DeleteOnClose 属性被设置,当对话框关闭时,Qt 会尝试删除对话框对象。如果此时事件循环中还有未处理的事件或者定时器槽函数试图访问该对话框,就可能导致崩溃。查看DialogA类中的内存创建是否存在异常,排查后未发现此问题。注释程序主体代码,程序运行正常,没有崩溃。局部放开注释代码,缩小问题点。删除该属性定义,问题解决。
2024-04-15 14:56:58
585
原创 Qt设置指定绘图区域
问题背景:通过QPdfWriter生成PDF报告绘制表格时,绘制的线条超出了表格区域,限制线条绘制的指定区域,超出区域自动忽略。解决方法:方法1:指定绘制区域Qt提供了 QPainter::setClipRegion(), QPainter::setClipRect() 两种方法设置绘制区域,参考代码如下:QPdfWriter* m_pdfWriter;QPainter m_PainterAI;m_PainterAI.begin(m_pdfWriter);QRect rect = m_P
2024-03-08 16:54:13
380
原创 QSqlQuery查询语句
1、绑定值QSqlQuery 支持将参数值绑定到占位符。下面展示了使用几种不同绑定方法将值绑定到存储过程的示例。"VALUES (?)");"VALUES (?)");5、将值绑定到存储过程。下面代码调用名为 AsciiToInt() 的存储过程,通过其 in 参数向其传递一个字符,并将其结果作为 out 参数。)");// i is 65。
2023-09-12 14:32:29
648
原创 fork代码管理工具设置beyond compare外部比较器
打开fork客户端,File -> Preferences…-> Integration,在External Diff Tool中选择BeyondCompare,路径为外部比较器的安装路径。fork客户端自带的文件比较器对于有些文件无法进行比较,使用beyond compare比较器便可以进行文件对比查看。右键更改的文件,选择External Diff即可使用外部比较器打开。
2023-08-28 11:44:06
539
原创 去除WinRAR广告:
(2)找到WinRAR.exe文件(C:\Program Files\WinRAR),以管理员权限打开resourcehacker(非管理员权限保存会报错)并打开WinRAR.exe。每次打开WinRAR软件时均会弹出广告窗口,很麻烦。(3)找到string table栏80:2052。(1)下载resourcehacker。删除倒数第二行文本保存。
2023-05-09 12:01:19
138
1
原创 postman离线安装建立websocket连接
下载地址:https://dl.pstmn.io/download/version/8.11.1/win64。新版本的postman必须登录后建立workspace才可建立websocket连接。此处下载的8.11.1版本的安装包,无需登录即可创建websocket连接。
2023-05-09 11:58:44
2031
原创 封装动态库传递this指针
/此处的参数三为调用外部接口传递的this指针,供参数二回调函数使用,采用此种方式可调用当//前对象里面的方法,否则外部定义的回调函数访问类里面的普通成员变量/函数会变的麻烦。解决思路:封装动态库时传递this指针,在回调函数中进行类型转换到当前对象即可访问该类提供的public属性的成员变量及成员方法。项目背景:提供外部回调函数时在回调函数里调用当前类对象的普通成员方法,实现比较麻烦。// todo:待优化,使用C风格代码,替代为C++风格。
2023-05-09 11:48:15
192
原创 Ubuntu系统导入第三方库文件
Qt项目右击添加库 -> 外部库 ->先写入包含路径,后导入库文件问题:导入库文件未看见文件夹下的相关库文件解决方法:Ubuntu系统库文件的命名格式为lib*.so lib*.a,修改库文件的名称为lib***.a格式即可。
2022-09-22 17:10:35
467
原创 Qt中QString::toStdString().c_str() 偶尔存在乱码
Qt中QString::toStdString().c_str() 偶尔存在乱码
2022-09-07 10:21:43
702
原创 Setup Factory9设置图标
资源页面(Archive) -> 右击exe进入属性页 -> Shortcuts栏找到Icon选项(Mode选择Custom,路径:%AppFolder%\app_icon.ico)注:app_icon.ico需添加进Archive页面。
2022-05-24 15:42:49
377
原创 win10系统点击控制台自定义快捷键失效问题解决
头文件包含:#include <windows.h>相关代码:HANDLE inputHandle = GetStdHandle(STD_INPUT_HANDLE);DWORD mode;GetConsoleMode(inputHandle, &mode);mode &= ~ENABLE_QUICK_EDIT_MODE; //移除快速编辑模式 mode &= ~ENABLE_INSERT_MODE; //移除插入模式 mode &am
2022-05-24 15:39:20
296
原创 QWebSocket发送消息异常
使用场景: 通过qtservice创建后台服务,后台服务程序websocket服务端建立与前端之间的通信,后台服务程序websocket客户端建立与转写引擎直接的通信。 在后台服务websocket服务器端类中创建websocket客户端对象,当websocket客户端对象未创建线程时,websocket客户端会存在向转写引擎服务器发送音频数据以及心跳信息(定时器中发送),通信正常进行。考虑到采集音频发送比较耗时,将websocket客户端创建线程(movetothread...
2021-12-16 17:15:40
2431
原创 后台服务缺少库文件问题排查
qtservice创建后台服务,编译环境为MSVC2013 32位的,本机通过批处理命令能正常安装后台服务,打包在其他电脑安装提示,服务没有响应控制功能。问题排查:通过windeployqt打包,其他电脑缺少相关动态库文件。解决方法:批处理命令安装失败打印相关报错信息的方法暂时没有找到。可以在开发环境的电脑上创建一个qt客户端桌面程序,通过windeployqt打包然后在在报错的电脑上运行。客户端程序缺少动态库会有相应的提示信息,将缺失的库文件拷贝到程序中即可运行。注:区分是32位和...
2021-12-03 22:08:59
216
1
原创 JNA调用C++动态库并传递回调函数
相对于JNI的使用,JNA会更简单,直接编译动态库给Java端即可。JNI的调用流程:Java端编写native方法 -> javac命令生成.class文件 -> javah生成.h文件,将生成的.h文件添加到C++工程文件中,实现具体的方法,编译生成库文件供Java端调用。JNA调用回调函数:C++端对外提供的接口中参数为回调函数:typedef void(*MyCallBack )(const char *szReceiveMsg);eg:extern "C" __de
2021-11-29 16:47:14
1350
等待提示框关键源码,处理耗时程序时可以显示图标及文字
2022-09-07
sqlite.zip
2020-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人