
C++
康闯
康闯
展开
-
QT调用外部应用时注意事项
2、采用 applicationDirPath() 获取的文件相对路径是在build的debug文件夹内,然后加上文件名得到绝对路径,同样需要手动把需要启动的exe放debug文件里边,当然如果需要放在另外的位置也是同理可以设置路径,不过只能是绝对路径,多次测试发现相对路径的方法完全不可行,不知道有没有大佬能来解释一下。这个建议使用QProcess::startDetached(),因为这个走了很多弯路,要注意!原创 2023-07-03 08:54:48 · 555 阅读 · 0 评论 -
Qtime非阻塞延时和Sleep阻塞延时
最简单的延时方法就是使用QThread类的sleep(n)、msleep(n)、usleep(n),这几个函数的不良后果就是,GUI会在延时的时间段内失去响应,界面卡死,所以,这三个函数一般用在非GUI线程中。等到 QTimer启动指定毫秒后就会触发 timeout 信号, 接着就会调用上面 connect 的槽函数。(3)然后再.cpp文件中的构造器里面初始化 QTimer 和 连接 槽函数。阻塞的原理就是:在延时期间,本线程的事件循环得不到执行。(1)在头文件(.h文件)声明 QTimer。原创 2023-03-17 12:36:02 · 1922 阅读 · 0 评论 -
error: C2001: 常量中有换行符
error: C2001: 常量中有换行符原创 2022-12-29 16:34:28 · 480 阅读 · 0 评论 -
批量处理QT界面上的控件
如何批量处理QT界面上的控件。控件最好是按数字排序的,最好不要自定义。void MainWindow::setUi(QString currency, QString num){ QList<QLabel*> labelList; QList<QPushButton*> buttonList; QList<QLineEdit*> lineEditList; for (int i = 1; i < 9; i++) {原创 2022-04-22 12:25:24 · 1580 阅读 · 0 评论 -
Linux消息队列编程
Linux消息队列编程(简单应用)消息队列,Unix的通信机制之一,可以理解为是一个存放消息(数据)容器。将消息写入消息队列,然后再从消息队列中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等问题,而且消息队列里的消息哪怕进程崩溃了也不会消失。最简单的消息内存的使用流程①ftok函数生成键值②msgget函数创建消息队列③msgsnd函数往消息队列发送消息④msgrcv函数从消息队列读取消息⑤msgctl函数进行删除消息队列一个消息数据应该由以原创 2022-03-10 14:12:42 · 312 阅读 · 0 评论 -
LLVM clang-format格式化代码配置说明
问题说明在用c语言进行开发的时候, 因为是多人协同开发, 经常会遇到自己的代码和别人的代码格式不一致的问题, 于是就想配置vscode自动对代码进行格式化, 经过上网搜索确定使用clang-format, 但是修改.clang-format配置文件, 却一直无法生效, 今天终于找到了原因.解决过程其实网上的教程都没有问题, 首先是安装cpptools插件, 它默认会安装LLVM(带有clan...原创 2020-05-08 10:01:04 · 2779 阅读 · 1 评论 -
QT中QProcess调用命令行的痛苦经历
QT中QProcess调用命令行的痛苦经历创建压缩包的方法在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装目录下就可以找到。该程序是winrar对应的命令行版本,其语法例子如下:rar.exe a -k -r -s -m1 test.rar direct1/ direct2/ test.txt例子对应的目录结构如下:上面的命令表示在当前目录下创建压缩包 test.rar ,将当前目录下的 direct1目录以及其所有子目录和文件、dire原创 2021-10-15 16:02:46 · 1225 阅读 · 0 评论 -
用QByteArray、QDataStream ,QFile 写文件时,多写入字节的问题
用QByteArray、QDataStream ,QFile 写文件时,多写入字节的问题本机系统配置:ThinkPadE410、Windows7我在用QByteArray数据、QFile和QDataStream写文件的时候,发现每次保存的文件都会在一开始的时候多出4个字节,然后我做了一些测试,对比了一下几个写文件的方法,具体如下://写文件的方法 : QByteArray ba; ba.resize(vShortData.size()*2); memcpy((char*)ba原创 2021-07-21 09:47:47 · 3663 阅读 · 3 评论 -
QT 多线程创建方法及应用实例
QT 两种最简多线程创建方法及应用实例QT多线程的实现有两种方法,一种是继承QThread的多线程使用方法,另外一种是使用QObject实现多线的方法。传统的方式是继承QTread,但是这种方式比较的容易出错,QT官方推荐使用的是第二种方式。这里介绍这两种方式的最简单的一种创建方式。最简方法一:(1)创建一个QT应用(2)创建线程类,继承QThreadsimplethreadone.h#ifndef SIMPLETHREADONE_H#define SIMPLETHREADONE_H#in原创 2021-07-09 11:16:07 · 6002 阅读 · 0 评论 -
Ubuntu Qt UI控件中文无法显示解决方法
第一步:检查你本版本QT下的字体有没有选对,是否本身就是乱码的形式? 检查路径:/usr/local/Trolltech/Qt-4.8.6/bin 【bin目录下都是可执行文件,找到qtconfig文件,双击打开!选择SongTi(宋体)即可】选择第二步:在main()函数下添加代码:QTextCodec *codec = QTextCodec::codecForLocale();QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLoc原创 2021-03-26 16:27:34 · 831 阅读 · 0 评论 -
解决 libpng warning: iCCP: known incorrect sRGB profile
Qt 报警解决 libpng warning: iCCP: known incorrect sRGB profile其实这个警告可以不解决,胡会影响程序的正常运行,不过我就是强迫症,就是不想看见这些警告,提示起来麻烦。ok,今天就满足你的心愿解决它!!!!!!支持一次性多选,单文件,不需要dll的支持。纯静态的。使用方便。上货!!!...原创 2020-12-22 10:29:21 · 2282 阅读 · 4 评论 -
Qt Creator 窗体控件自适应窗口大小布局
Qt Creator 窗体控件自适应窗口大小布局 常见的软件窗口大小改变(最大化、手动改变时)需要窗口的部件能够自适应布局,而在Qt的应用程序界面设计中,对于像我一样的初学者如何实现窗口自适应调整还是要绕点弯路的。网上百度了很多,多数说的很含糊,还有很多是用程序实现的,既然已经有Qt Creator那么高集成度的工具了,我还是倾向于直接在Qt Creator中通过可视化配置的方式完成,一是所见即所得,而是效率要高不少。Qt中如果想实现窗体内空间随着窗体大小调整,必须使用布局管理,常用的布局管理有QH原创 2020-11-24 10:26:01 · 1642 阅读 · 0 评论 -
Qt 两种按钮点击事件应用
Qt 两种按钮点击事件应用1.传统connect例如:connect(ui->findPushBtn,SIGNAL(clicked()),this,SLOT(find()));参数1:事件UI参数2:点击系统函数参数3:指针指向当前参数4:调用函数2.qt函数中默认有一个on_pushButtonConnect_clicked函数需要实现点击事件,只需要再代码中实现就可以2.1在UI文件里加入按钮,objectName 设置为pushButtonA2.2在引用的头文件(比如Mai原创 2020-05-15 08:13:19 · 4578 阅读 · 0 评论