Qt5
RoboticsLearner
机器人软件算法工程师,热爱机器人,喜欢编程。
展开
-
使用gtest测试框架测试QT界面应用程序
//MyWidget .h#ifndef QTWITHGTEST_MYWIDGET_H#define QTWITHGTEST_MYWIDGET_H#include <QPushButton>#include <QFileDialog>#include <QDir>#include <QDebug>#include <QString>#include <QWidget>#include <iostream>原创 2022-05-30 17:43:40 · 1135 阅读 · 0 评论 -
Windows下编译和使用libQGLViewer
Windows下开发OpenGL程序感觉比较头疼,总是找不到链接库,或者无法运行,可能是自己在Ubuntu系统下编写程序习惯了。不过有时候,总是需要跟Windows打交道,今天就花了点时间折腾了一下,这里记录一下,以免后面又忘了。Windows下使用QtCreator编译libQGLViewer还是很顺利的,安装完QT开发包之后,在系统环境变量Path中添加C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\bin和C:\Qt\Qt5.12.10\5.12.10\msvc2017_原创 2020-12-17 16:13:18 · 1193 阅读 · 1 评论 -
解决Ubuntu下Qt5.12.10无法使用CMake构建工程的问题
最近更新了Qt的开发包到5.12.10,发现新的问题出现了,以前使用的CMake3.12.4版本的CMake无法构建Qt工程。解决方法:因为最新的QtCreator4.13.1要求CMake最低版本为CMake3.14.0所以,更新到CMake3.14.0版本以上即可解决问题。...原创 2020-12-13 11:20:56 · 2039 阅读 · 0 评论 -
解决Ubuntu系统安装QT出错的问题:qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it
最新新入手的笔记本无法安装Ubuntu系统,无奈只能通过virtualBox安装Ubuntu16.04,但是发现安装最新版本的QT5.12.10时候总是无法启动QtCreator程序,通过命令行运行发现如下的错误:qiang@qiang-VirtualBox:~/Qt5.12.10/Tools/QtCreator/bin$ ./qtcreatorqt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it原创 2020-12-13 10:34:29 · 7432 阅读 · 2 评论 -
动态设置QTableView某一行的背景色
mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QWidget>#include <QStandardItemModel>namespace Ui { class MainWindow;}class MainWindow : public QWidget { Q_OBJECTpublic: explicit MainWindow(QWidget *parent =原创 2020-06-08 13:03:07 · 10240 阅读 · 1 评论 -
QtCreator配置代码自动格式化
使用Artistic Style点击此处下载右键解压astyle_3.1_linux.tar.gzcd ~/astyle/build/gccmake打开QtCreator使能Beautifier插件:勾选Help > About Plugins... > C++ > Beautifier(experimental)插件,关闭QtCreator并重启。设置代码格式化...原创 2019-07-22 20:59:12 · 9102 阅读 · 0 评论 -
QtCreator4.8.0设置C++代码语法检查警告级别
最近更新到Qt5.12.0以后,使用QtCreator4.8.0版本的IDE编写C++代码时,总会出现各种语法警告,很是烦人,虽然自己的代码确实写的不咋地,但是要想没有任何警告有时候是挺难的,警告严重敲代码影响心情。在这里,介绍如何设置代码检查级别,用户可以根据自己的喜好进行设置Tools》Options 》C++ 》Code Model ,在Clang Code Model中Diagnosti...原创 2019-02-27 10:19:06 · 4925 阅读 · 3 评论 -
解决以QFileSystemModel为模型对QTreeView执行expandAll()操作不起作用的问题
要解决这个问题,我们首先需要明白一个问题,那就是QFileSystemModel这个Qt自带的标准控件比较特殊,目前已知的有两个特殊之处,一个是我们无法直接修改它的表头为中文,我们只能通过国际化的方式将表头文字进行翻译,但是也很别扭。另一个就是当前要讲的问题,直接展开QTreeView对象的所有节点是无效的,因为为了效率,QFileSystemModel在目录递归加载完成之前,执行expandAl...原创 2018-12-12 13:24:42 · 1969 阅读 · 2 评论 -
使用Qt5的QXmlStreamWriter和QXmlStreamReader实现xml文件的写入和读取
Qt中实现xml文件写入和读取操作的方法有多种,但是总体来说,还是接下来要介绍的方法更加的方便快捷。下面基于我在实际项目中的一个小需求,通过编写一个小demo来介绍该内容。第1步:使用QXmlStreamWriter实现xml文件的写入操作void writeXML() { QFile file(&quot;../generateConfigureInfoFile/bg_train01.xml...原创 2018-12-10 10:16:28 · 3248 阅读 · 0 评论 -
Qt5学习之路01:直接使用QWidget类创建一个空的窗口
main.cpp#include <QApplication>#include <QWidget>int main(int argc, char** argv){ QApplication app(argc, argv); QWidget w; w.resize(640, 320); w.move(400, 200); w...原创 2018-05-05 19:41:41 · 5849 阅读 · 0 评论 -
Qt5学习之路02:使用继承自QWidget类的派生类创建空的窗口,重载键盘事件处理函数,添加程序图标
main.cpp#include <QApplication>#include "mywidget.h"#include <QIcon>int main(int argc, char** argv){ QApplication app(argc, argv); MyWidget w; w.resize(640, 320); w...原创 2018-05-05 20:26:18 · 1998 阅读 · 0 评论 -
Qt5学习之路03: Qt5读取csv文件的内容并输出
main.cpp#include &lt;QApplication&gt;#include &lt;QFileDialog&gt;#include &lt;QDir&gt;#include &lt;QString&gt;#include &lt;QStringList&gt;#include &lt;QDebug&a原创 2018-05-22 09:59:32 · 6075 阅读 · 0 评论 -
Ubuntu16.04下调试Qt代码直接进入反汇编界面问题的解决办法
今天调试了一个程序,按下F5,结果直接给我干到反汇编界面,但是我也没有设置反汇编啊,很是奇怪,一时间摸不着头脑,无奈之下,通过搜索引擎检索了一下,很多人给的办法都不管用,后来看到一个提示说到中文路径的问题,瞬间恍然大悟,确实,我把项目建在了有中文目录的地方,这才是罪魁祸首,找到问题的所在,赶快在Home目录下新建一个项目,设置断点,按下F5,果断解决问题,终于没有自动跳转到反汇编界面。所以啊,...原创 2018-07-29 20:43:07 · 2827 阅读 · 0 评论 -
Qt5编写的程序运行正常,但是关闭程序会显示**段错误,核心已转储**
这几天用Qt5编写程序,遇到了一个问题,出现了程序可以正常运行,但是退出的时候出现了一个段错误,核心已转储,按F5进入调试模式,关闭程序的时候,会停在QApplication处,程序没有正常退出,应该是程序析构出现了问题,通过排查发现,我犯了一个非常低级的错误,程序的new和delete个数不匹配。...原创 2018-10-25 20:30:21 · 2004 阅读 · 0 评论 -
undefined reference to `vtable for’”问题的解决方法
造成这个原因很可能是你编写继承自QObject类及其子类的自定义类的时候,忘记加入Q_OBJECT宏造成的, 当你编译出现这个问题后, 手动加入了Q_OBJECT宏, 再次编译还是会出现这个问题, 这一次原因就很简单了,因为你重新编译,但是这次并没有重新生成xxx.pro.user文件, 这个文件是给予你机器上的具体环境配置生成的, 直接删除掉你项目中生成的xxx.pro.user文件再次编译即可...原创 2018-11-06 11:00:06 · 48416 阅读 · 10 评论 -
Qt使用QListWidget结合QScrollBar实现图像动态无限加载
任何事物,量变都会引起质变,在Qt界面开发中无不体现着这个道理,特别是在界面上加载数据量巨大的图片的时候,会显得非常的力不从心,比如:我想加载100000张图片到列表中,每一个列表项是一个自定义控件,自定义控件中包含了图像缩略图,图片名称等信息.我做过一个实验,按照普通的加载方式,一次性加载5000个自定义列表项,界面会卡住大概10秒左右,这样的体验相当差.为此,我们需要动态的方式来加载列表项,...原创 2018-12-02 12:41:47 · 5202 阅读 · 5 评论 -
解决QFileSystemModel结合QTreeView进行排序无效并且排序错乱等不可知问题
在之前的一个目录排序显示功能开发过程中,出现了排序错乱的问题,经过多次尝试,根本原因还是自己的无知操作导致的程序不可知问题:m_FileSystemModel-&gt;setRootPath(m_DataLoadPath);m_TreeView-&gt;setRootIndex(m_FileSystemModel-&gt;index(m_DataLoadPath)); //此处的路径设置必须和...原创 2018-12-12 15:14:47 · 2007 阅读 · 2 评论 -
使用QMessageBox自定义消息提示对话框
通常我们在开发界面的时候,如果涉及到用户需要谨慎操作的部分,我们需要开发弹出提示窗口,提示用户是否确定要执行该操作,此时,我们可以使用QMessageBox类来实现自定义的消息提示对话框。void DataConfigureDialog::clearConfigTable() { QMessageBox *messageBox = new QMessageBox(this); m...原创 2018-12-13 14:35:48 · 4431 阅读 · 1 评论 -
用cmake构建基于qt5.8.0的qt5项目
为什么要用cmake来构建qt5的项目呢?qt不是有qmake吗?这样,岂不是多此一举? 其实,应用cmake来构建项目还是非常有必要的,特别是当你的项目涉及到很多第三方库的时候,cmake的优势非常突出。 举个简单的例子: 假如我要开发一个基于pcl 1.8.0,vtk 7.0,opencv3.2.0, eigen3, Sophus ……等其他的第三方库的qt5的项目 而不仅仅是只用qt一原创 2017-09-13 16:16:58 · 13852 阅读 · 1 评论