
Qt
康闯
康闯
展开
-
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 评论 -
Qt Creator 按照你需要的名称进行生成文件
Qt Creator 按照你需要的名称进行生成文件一次配置好pro文件,然后就能自动编译出debug和release的版本了。其实关键就是:CONFIG += debug_and_releaseCONFIG(debug, debug|release) { TARGET = sirkang_debug} else { TARGET = sirkang}研究原理没啥用,好使就行,有时间好好研究工程代码!!!...原创 2022-03-08 16:43:57 · 358 阅读 · 1 评论 -
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 评论 -
Qt 目录与文件操作
Qt 目录与文件操作QCoreApplication获取信息qDebug() << QCoreApplication::applicationFilePath();//程序运行路径及名称qDebug() << QCoreApplication::applicationDirPath();//程序运行路径qDebug() << QCoreApplication::applicationPid();//程序进行idqDebug() << QCoreApp原创 2021-08-30 09:06:16 · 346 阅读 · 0 评论 -
cannot find -lGL问题的解决方法
Linux的Qt编译出现???? error: cannot find -lGL问题的解决方法Qt是支持跨平台的C++图形用户界面应用程序开发框架,在一个平台上开发好应用程序可以在多个平台方便移植。在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中,在构建项目时出现以下编译问题: error: cannot find -lGL。即,没找到libGL.so 库。以下两个方法都可以解决问题。第一个解决方法:直接更新libgl1-mesa-devsudo apt-get in原创 2021-08-06 16:51:20 · 13372 阅读 · 6 评论 -
QT中 QTabWidget标签页设置及获取
QTabWidget可用于多标签显示,鼠标选中的标签为当前活动标签页。QTabWidget有个setCurrentIndex槽,可用于修改当前活动标签页。(1).设置当前Tab页:QTabWidget tabWg = new QTabWidget(this);QWidget *Tab1 = new QWidget();QWidget *Tab2 = new QWidget();tabWg.addTab(Tab1, “Tab1”);tabWg.addTab(Tab2, “Tab2”);tabW原创 2021-08-06 10:29:44 · 3535 阅读 · 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 评论 -
七牛云客户端
七牛云客户端简单的七牛存储客户端,增加了批量上传下载功能, 增加cdn刷新功能。解压zip直接使用,单文件,填写AK、SK、空间名和你所绑定的域名就行,配置文件自动保存在本地,方便以后使用。下载地址:https://download.youkuaiyun.com/download/sirkang/13764463直接上图:1、参数配置界面,可将配置文件保存本地,方便以后使用。2、配置界面选好同步目录,点击文件上传,即可上传同步目录文件到空间3、对七牛云空间文件处理,支持批量操作4、融合CDN刷新,支持文件刷原创 2020-12-24 13:15:08 · 826 阅读 · 3 评论 -
解决 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基本控件及三大布局Qt基本模块一、Qt的三大布局QHBoxLayout: 水平显示布局,所有在其上面摆放的控件只能水平排列下去;QVBoxLayout: 垂直显示布局,所有在其上面摆放的控件只能垂直排列下去;QGridLayout 格子显示布局,可以按照表格的形式显示布局;二、Qt的控件label:标签,可以显示文本信息,只读;pushbutton : 普通按钮;radiobutton : 单选按钮,多个单选按钮中只能选择一个,但是必须放入groupbo原创 2020-11-17 13:01:39 · 1216 阅读 · 0 评论 -
16进制与QByteArray互转
/* * @breif 将16进制字符串转换为对应的字节序列 */QByteArray MainWindow::HexStringToByteArray(QString HexString){ bool ok; QByteArray ret; HexString = HexString.trimmed(); HexString = HexString.simplified(); QStringList sl = HexString.split(" ");原创 2020-09-16 13:04:20 · 2681 阅读 · 0 评论 -
Qt多线程, 简单Demo
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACEnamespace Ui {class MainWindow;}QT_END_NAMESPACEclass MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~原创 2020-07-17 12:14:54 · 308 阅读 · 0 评论 -
Qt中的两个QList的区别及用法
Qt中的两个List的区别及用法QListView是基于Model,而QListWidget是基于Item。这是它们的本质区别。往QListView中添加条目需借助QAbstractListModel:如: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QStringListModel* s原创 2020-05-20 08:39:59 · 2647 阅读 · 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 评论 -
Qt 自定义 log 日志
Qt 自定义日志工具QtC++ 中比较不错的日志工具有 log4cxx,log4qt 等,但是它们都不能和 qDebug(), qInfo() 等有机的结合在一起,所以在 Qt 中使用总觉得不够舒服,感谢 Qt 提供了 qInstallMessageHandler() 这个函数,使用这个函数可以安装自定义的日志输出处理函数,把日志输出到文件,控制台等,具体的使用可以查看 Qt 的帮助文档。本文主要是介绍使用 qInstallMessageHandler() 实现一个简单的日志工具,例如调用 qDeb原创 2020-05-14 11:13:36 · 1850 阅读 · 0 评论