
Qt
文章平均质量分 69
Qt 问题记录
Giant NG
我要一步一步往上爬……
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt控件布局与运行效果不一致的问题解决
在 Qt 设计师中对控件进行水平布局,程序放到板子上运行时,发现没有水平对齐的效果。在 Qt 设计师的布局如下:在板子运行的效果如下:可以很明显地看到,QLabel 控件与 QCheckBox 无法水平对齐,影响美观。原创 2022-12-14 16:45:56 · 1766 阅读 · 2 评论 -
Qt中宏定义的理解(持续更新)
Q_DECL_EXPORT 与 Q_DECL_IMPORT两个宏定义的源码如下:# ifdef Q_OS_WIN# define Q_DECL_EXPORT __declspec(dllexport)# define Q_DECL_IMPORT __declspec(dllimport)# elif defined(QT_VISIBILITY_AVAILABLE)# define Q_DECL_EXPORT __attribute__((visibi原创 2022-03-16 10:08:10 · 5149 阅读 · 0 评论 -
编译QtXlsx库
参考链接:Qt之qtxlsx(Excel读取)开源库使用示例QtXlsx的基本使用遇到的问题1. 安装Perl5由于编译QtXlsx库需要用到Perl脚本,所以必须确保有这样的执行环境,否则会报错:15:15:50: 为项目qtxlsx执行步骤 ...15:15:50: 正在启动 "D:\Qt\Qt5.9.8\5.9.8\msvc2015_64\bin\qmake.exe" D:\a_zhm\StudyCode\Excel\QtXlsxWriter-master\src\src.pro -原创 2021-11-01 15:37:08 · 1641 阅读 · 1 评论 -
Windows平台下Qt程序打包为单个可执行的exe程序
参考链接QT封装exe和安装包详解Qt5将可执行程序和动态库打包成可直接运行的程序详解打包程序程序使用Release模式编译完成后,使用Qt安装目录下的windeployqt.exe工具进行打包。步骤将程序拷贝到一个新的目录下,如E:\ini(注意此路径不要带空格);打开cmd控制台程序,进入Qt安装目录下;使用windeployqt.exe程序进行打包,如D:\Qt\Qt5.12.9\5.12.9\mingw73_32\bin>windeployqt.exe E:\ini\I原创 2021-09-27 14:13:48 · 748 阅读 · 0 评论 -
QStringList找不到对应的中文字符串的解决方法
问题描述Windows平台下,从一个文件中读取中文字符串,存放至QStringList中,再使用indexof()函数去寻找对应的字符串时,发现无法正确查找到。解决方法在Qt Creator中将代码文件按utf-8编码格式载入,检查文件是否乱码,且无法正常编辑;检查Qt Creator的默认编码格式,如果为system,贼修改为utf-8,保存后重启IDE;重新打开项目,检查是否乱码,如果不会再出现步骤1中的乱码情况,此时重新编译应该可以解决问题。...原创 2021-09-06 22:48:51 · 1344 阅读 · 0 评论 -
十六进制转float
工具可通过在线进制转换测试进制转换的数据(注意大小端格式)float用二进制表示参考链接:float类型的二进制表示方法float的二进制表示方式浮点数的二进制表示根据国际标准IEEE 754,任意一个二进制浮点数V可以表示成下面的形式:V = (-1)^s×M×2^E。(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数;M表示有效数字,大于等于1,小于2;2^E表示指数。IEEE 754规定:对于32位的浮点数,最高的1位是符号位s,接着的8位是阶码E,剩下的2原创 2021-05-24 21:56:06 · 13972 阅读 · 0 评论 -
QString调用memset后再赋值导致段错误
环境Ubuntu16.04 + Qt 5.7.1问题描述在Qt中声明自定义结构体,该结构体中包含了QString类型。定义结构体后,使用memset对变量进行初始化。再对结构体中的普通类型(如int、bool等)变量进行赋值时,运行正常。当对QString类型变量赋值时,出现段错误。示例代码#include <QCoreApplication>#include <QString>#include <QDebug>struct TestStruct {原创 2020-12-14 23:07:15 · 1421 阅读 · 0 评论 -
Qt将【十六进制的字符串】与【原数据字符串】互转
环境Ubuntu16.04 + Qt5.7.1目的十六进制的字符串与原始数据的字符串互相转换;例如将“hello world”转为十六进制,则是“68656c6c6f20776f726c64”。转换可以点击这里进行测试。实现QByteArray提供了这种转换方法。//"hello world"的十六进制字符串QString hexString = "68656c6c6f20776f726c64";QByteArray hexByteArray = hexString.toLatin1()原创 2020-11-26 22:59:59 · 1999 阅读 · 0 评论 -
Qt中自定义结构体、枚举型做信号参数传递
参考链接如何在QT信号和插槽中使用枚举Qt出现QObject::connect: Cannot queue arguments of type '******'的解决方法;问题当自定义结构体、枚举通过信号的参数进行传递的时候,运行以后可能会报错“QObject::connect: Cannot queue arguments of type 'XXX'”,此时信号与槽不一定会生效,但是编译过程是没问题的。因此,这样的问题比较麻烦,应该尽力规避。解决出现这样的问题是由于自定义的结构体、枚举,没原创 2020-10-19 22:56:45 · 7179 阅读 · 0 评论 -
Qt自定义进度条示例
环境Ubuntu16.04+Qt 5.7.1目的实现自定义图片样式的进度条效果素材准备如效果图所示,可以拆分为2个部分。一是进度条,一是背景图。如进度条图片;背景图代码实现这里的加载进度使用定时器模拟数据,主要重点在于重写QWidget的paintEvent。重写paintEvent函数在构造函数中,成员QPixmap m_progressPixmap先加载好图片:m_progressPixmap.load(":/progressbar.png");void Widget原创 2020-08-15 10:50:58 · 3422 阅读 · 4 评论 -
Qt构造函数的初始化问题
参考链接QT中用父类构造函数初始化子类的成员变量Qt ------ 初始化构造函数参数,parentC++ 构造函数和析构函数是否可以继承?描述在Qt新建继承Qt类的类后,经常会在构造函数看到parent的参数的初始化。如:DialogRangeReference.hclass DialogRangeReference : public QDialog{ Q_OBJECTpublic: explicit DialogRangeReference(QWidget *p原创 2020-08-10 15:32:06 · 9279 阅读 · 3 评论 -
Qt的.pro文件简介
.pro文件是qt项目用于管理代码文件、资源文件等的配置文件。对.pro文件进行qmkae可以生成Makefile文件,通过Makefile进一步编译即可完成对整个项目的编译。.pro文件示例代码#-------------------------------------------------## Project created by QtCreator 2019-01-14T15:47:03##------------------------------------------------原创 2020-07-05 23:15:10 · 1269 阅读 · 0 评论 -
QDateTime.time()精确度的“坑”
介绍从Qt的帮助文档中可以看到,QDateTime提供了获取日期和时间的方法等。是QDate和QTime这两个类的组合。可以从当前系统获取时间,也可以进行增减时间,如秒、天、月、年。具体不再赘述,可以直接查看帮助文档。哪里“坑”QDateTime...原创 2019-12-06 23:42:03 · 3874 阅读 · 0 评论 -
Qt5.7.1下编译时出现的“/usr/bin/ld: 找不到 -lx264”,“/usr/bin/ld: 找不到 -lx265”的解决方法
环境系统:Ubuntu16.04Qt版本:5.7.1问题描述Qt在编译运行与FFmepg库相关的项目时,报错“/usr/bin/ld: 找不到 -lx264”,“/usr/bin/ld: 找不到 -lx265”,但实际上在本机中时可以找到相关的文件的,报错信息中出现了”-l“,这一般指的是链接出错,所以只要找到相应的”.so“文件,创建链接到相应的位置即可。解决办法...原创 2018-07-20 21:19:17 · 1163 阅读 · 0 评论 -
Qt5.7.1中使用QImage保存成JPG图像到本地
Qt assistant中对QImage的说明注:以下说明是本人用翻译软件翻译的,部分语句还需斟酌。建议尽量查看Qt assistant中的英文原版,避免歧义。QImage类提供与硬件无关的图像表示,允许直接访问像素数据,并可用作绘图设备。Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和QPicture。 QImage专为I / O和直接像素访问和操作而...原创 2018-07-21 23:57:49 · 31495 阅读 · 0 评论 -
利用QCamera等实现的摄像头每一帧数据的捕捉(只依赖Qt)
目的:如果只是单纯地显示摄像头拍摄的画面,利用QCamera其实可以很简单地实现,但是如果为了获取摄像头的每一帧数据做进一步处理,而不是仅仅用于显示,在Qt中貌似没有很直接的方法,因此参考了网上一些大神的做法,做了一些整理。 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片...原创 2018-09-01 14:06:25 · 9282 阅读 · 25 评论 -
关于Qt中sudo的权限问题
问题描述偶然发现一个问题,比如在一个QWidget的项目中,需要进行一个IP地址的设置,我使用了popen()函数执行shell命令进行操作,如:...FILE *fp;fp = popen("sudo ifconfig ens34 192.168.1.1", "r");if (fp == NULL) { return;}...编译正常通过,但是运行程序时,发现Qt整个软...原创 2018-10-22 22:45:19 · 5785 阅读 · 0 评论 -
Qt应用程序重新启动的实现方式
应用场合看标题可能有点迷糊不知道目的功能是什么,本人的表达能力很一般,不要介意。比如开发了一个应用程序demo在板子上跑,但是可能目前这个demo不完善,会出现中途崩溃或者错误的问题。如果每次都重新启动板子的话会很浪费时间,如果程序死掉或者出错时可以自动重新启动,那么效果也许会更好。方法采用的方法比较暴力也比较简单,一般来说会在写一个脚本比如runApp.sh来用于开机启动demo程序。这时...原创 2018-12-17 23:05:02 · 2821 阅读 · 0 评论 -
QFile中使用QIODevice::Text打开文件时导致的读取文件总大小出现偏差的问题解决办法
介绍Qt中提供了QFile进行文件操作,QFile中有open()函数。[virtual] bool QFile::open(OpenMode mode),其中,mode指的是打开的方式,有QIODevice::ReadOnly,QIODevice::WriteOnly,QIODevice::ReadWrite,QIODevice::Text等打开方式。问题描述在打开文件时即open函数中...原创 2018-12-23 23:54:30 · 7306 阅读 · 0 评论 -
QPainter简述
简介Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类: 1. QPainter 用于执行绘图操作,其提供的 API 在 GUI 或 QImage、QOpenGLPaintDevice、QWidget 和QPaintDevice 显示图形(线、形状、渐变等)、文...原创 2018-07-23 21:42:52 · 1326 阅读 · 0 评论