
Qt
IT观察者
这个作者很懒,什么都没留下…
展开
-
Qt 文件常见操作管理类
/ Qt文件管理类public:// 文件是否存在// 创建文件夹// 复制文件// 移动文件// 复制文件夹// 删除文件或文件夹// 计算获取文件的MD5值private:FileMgr();回到顶部。转载 2023-04-19 12:00:00 · 240 阅读 · 0 评论 -
C++(Qt) 和 Word、Excel、PDF 交互总结
日常开发软件可能会遇到这类小众需求,导出数据到Word、Excel以及PDF文件,如果你使用C++编程语言,那么可以选择的方案不是很多,恰好最近刚好有这部分需求,整理下这段时间踩过的坑,方便后人转载 2022-03-16 19:00:00 · 2744 阅读 · 0 评论 -
QtCreator开启宏录制
alt+[开启录制宏, 然后用键盘编辑完一列, alt+]停止录制, 然后按alt+r就可以重播刚才的动作。原创 2021-10-24 23:30:31 · 510 阅读 · 0 评论 -
Qt模拟按键事件
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier); //模拟按下方向下键QApplication::sendEvent(ui->listView, &keyPress);原创 2021-02-24 15:31:00 · 1033 阅读 · 1 评论 -
两个浮点数比较大小
bool qFuzzyCompare(double p1, double p2)比较浮点值p1和p2,如果认为它们相等,则返回true,否则返回false。注意,比较p1或p2为0.0时的值是无效的,比较其中一个值为NaN或infinity时也是无效的。如果其中一个值总是0.0,则使用qFuzzyIsNull代替。如果其中一个值可能是0.0,一种解决方案是给两个值都加上1.0。//和0.0进行比较 qFuzzyCompare(0.0, 1.0e-200); // return false.原创 2020-12-10 23:46:44 · 1770 阅读 · 0 评论 -
Qt打印不同颜色
qCritical()<<"\033[47;31m"<<"打印的字符串"<<"\033[m";\033 是ASCII字表里的 {ESC}{ESC}[八进制数字m 表示不同的颜色,31-37, 41-47 其中31是字体的颜色,47是字背景颜色{ESC}[m 恢复默认值ANSI最全介绍linux终端字体改变颜色等 - 苏鑫的博客 - 博...原创 2020-04-07 15:04:24 · 545 阅读 · 0 评论 -
Qt编译问题之FTH (7156) Fault tolerant heap shim applied to current process
有时候Qt编译会出现FTH: (7156): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***的问题,就算删除构建目录文件,重新构建工程,或者换一个工程,问题依然还存在。就算按照网上某些教程,修改注册表中HKEY_LOCAL_MACHINE\...原创 2020-03-22 09:45:18 · 1224 阅读 · 5 评论 -
Qt之新建界面动态库并使用
动态库的创建动态库的使用动态库的创建//SharedLib_global.h#ifndef SHAREDLIB_GLOBAL_H#define SHAREDLIB_GLOBAL_H#include <QtCore/qglobal.h>#if defined(SHAREDLIB_LIBRARY)# define SHAREDLIB_EXPORT...原创 2020-03-12 22:19:47 · 2726 阅读 · 3 评论 -
Qt之正则表达式的使用例子
正则表达式的使用例子:QString filename = "test"; //检测是否是中文字符、大小写、数字或者“_”QRegExp reg("^[\u4E00-\u9FA5A-Za-z0-9_]+$"); if(!reg.exactMatch(filename)){ //文件名不匹配}正则表达式 – 教程 | 菜鸟教程 https://www.run...原创 2020-03-06 00:12:30 · 548 阅读 · 0 评论 -
Qt如何使用命令提示符(cmd)
#include <QProcess>//方法一:QString cmd = "calc";CalcPro = new QProcess(this);CalcPro->start("cmd", QStringList()<<"/c"<<"calc");//方法二:QString cmd = "calc...原创 2020-02-24 10:31:07 · 2389 阅读 · 0 评论 -
Qt转换路径方法(正斜杠与反斜杠转换)
文件路径差异:Windows下使用的是反斜杠"\"。 Linux下使用的是正斜杠"/"方法一:/转\(斜杠转反斜杠)QString path = "C:/temp/test.txt"; path = QDir::toNativeSeparators(path); \\ "C:\\temp\\test.txt"\转/(反斜杠转斜杠)QString pa...原创 2019-11-27 14:58:09 · 4495 阅读 · 0 评论 -
Qt所有的类
QAccel 处理键盘加速器和快捷键 Handles keyboard accelerator and shortcut keys QAccessible Enums与可达性的静态函数 Enums and static functions relating to accessibility QAccessibleInterface 定义一个接口,该接口公开有关...原创 2019-10-13 14:41:26 · 3726 阅读 · 0 评论 -
C++ Qt常用类
目录QChar 表示一个字符的类,包含于QtCoreQString 表示字符串的类,包含于QtCoreQPorint: 代表一个坐标点,从属于QtCore库,可以认为是一个 整型的横坐标和一个整型的纵坐标的组合QSize: 代表一个矩形区域的大小,从属于QtCore库,可以认为是由一个整型的宽度和整型的高度组合而成的QRect 代表一个矩形区域,实现在QtCore库,是一个QP...转载 2019-08-30 14:16:48 · 1294 阅读 · 0 评论 -
Qt 莫名出现语法错误
有时候使用Qt编程,会出现莫名出现语法错误(如上图),但是定位错误文件,却是Qt自带文件,尝试以下方法:可能代码含有中文,通过修改文件的编码进行解决; 可能宏定义和自带库文件的函数、类等等重名,重新检查所有宏定义;...原创 2019-08-20 10:51:05 · 2656 阅读 · 0 评论 -
Qt 之 QtConcurrent
本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍如何将函数运行在单独的某一个线程中。1QtConcurrent::run() QtConcurrent 是一个命名空间,它提供了高层次的函数接口 (APIs),使得编写的程序,可根据当前计算机中实际的 CPU 核数,自动调整运行的线程数目。 下面是 Qt 中的自带例程runfunction,对应于安装目...转载 2019-05-13 08:48:07 · 631 阅读 · 0 评论 -
Qt高级编程技巧(二)-- 编写多线程和并发应用
学习QT多线程编程之前,有必要先熟悉事件循环的概念。先看一个单线程界面程序的主函数代码:int main(int argc, char* argv[]){ QApplication app(argc, argv); // 构造主窗口对象并显示 MainWindow w; w.show(); // 进入事件循环 return app.exec();}在程...转载 2019-05-13 08:31:59 · 1639 阅读 · 0 评论 -
Qt高级编程技巧(一)-- 编写高效的signal & slot通信代码
关于QT的线程通信,我们都会想到signal & slot机制。先回顾下利用signal &slot机制实现控件消息处理的方法。控件消息处理假设我们的主界面上有一个使用ui->btn指向的QPushButton对象,要实现该对象的clicked消息处理,可以在主界面对象MainWindow上添加一个slot方法onBtnClicked,并在其构造函数中使用conne...转载 2019-05-13 08:23:05 · 478 阅读 · 0 评论 -
Qt之多线程编程经验
自动化生产设备软件开发背景,主要关于视觉引导、运动控制和人机交互,平台使用QT+VS2013。本编随笔主要分享QT多线程编程相关的经验。背景上图是一个用于机器视觉引导的生产软件截图,软件由七个工作线程组成,各个工作线程负责接收控制系统的引导请求,采集图像后进行处理分析、模式匹配和坐标转换后,返回结果数据(坐标或检测结果)。工作中使用的通信方式的TCP/IP以太网通信,在后文会提及到两种...转载 2019-05-13 08:18:51 · 676 阅读 · 0 评论 -
QListView超简单的更新列表
void UpdateFileListView(QStringList NewList){ QStringListModel *model = new QStringListModel(NewList); ui->listView->setModel(model); }原创 2019-03-23 19:12:24 · 4529 阅读 · 1 评论 -
Ubuntu安装qt-opensource-linux-x64-5.11.1教程
登陆qt官方下载页面:http://download.qt.io/archive/qt/本文以安装qt-opensource-linux-x64-5.11.1为例。 把下载好的qt-opensource-linux-x64-5.11.1.run放进Linux系统里。首先给qt-opensource-linux-x64-5.11.1.run运行权限,再运行。sudo chmod...原创 2018-08-15 09:57:27 · 19096 阅读 · 5 评论 -
qt creator全屏,没有工具栏和最大最小化的解决办法
如果出现图中的情况,应该不小心把qt creator设置成全屏了。只要同时按下shift键+Ctrl键+F11,就可以取消全屏了。原创 2018-08-09 08:19:35 · 4077 阅读 · 2 评论 -
Qt 资料大全
简述发福利了、发福利了、发福利了,重要的事情说三遍。。。为了方便更多Qter了解、学习Qt,现将相关资源进行整理,主要内容包括:Qt官网、编码风格、GitHub & Third-Party、社区论坛、博客、书籍等。满满的都是干货,独乐乐不如众乐乐。。。| 版权声明:一去、二三里,未经博主允许不得转载。Qt官网Qt官网:https://www.qt.ioQt下载:http://www.qt....转载 2018-07-12 13:57:57 · 255 阅读 · 0 评论 -
基于qt的一个简单的shell(能够接收shell返回值)
#include <QProcess>//方法一:直接执行shell命令 //关机void MainWindow::Shutdown(){ QProcess::execute("shutdown now");}//方法二:简单的shell编辑器#include "mainwindow.h"#include "ui_mainwindow.h"#include <...原创 2018-07-10 09:32:49 · 2948 阅读 · 0 评论 -
Qt 无法使用复制(ctrl+c)剪切(ctrl+x)的快捷键
有时Qt 无法使用复制(ctrl+c)剪切(ctrl+x)的快捷键,但是可以通过鼠标右键进行复制粘贴,就算是关闭再开Qt Creator,还是重新开机,还是解决不了。那就是不小心开启Vim编辑模式了,只要按两下atl+v,就可以退出vim模式。...原创 2018-05-07 13:58:43 · 8107 阅读 · 4 评论 -
最全解决Qt5无法输入中文的问题
参考博客:https://www.cnblogs.com/liuxuzzz/p/6409294.htmlhttps://my.oschina.net/lieefu/blog/505363?p=%7B%7BcurrentPage%201%7D%7DQt5.3及以前的版本: qt creator插件目录:qt安装目录/Tools/QtCreator/lib/Qt/plugins/p...转载 2018-04-24 09:02:54 · 13579 阅读 · 9 评论 -
如何让ARM板开机启动Qt
一、把qt程序放在自定义的路径里(/code)二、进入开发板上的etc/init.d目录三、编译rcS文件(vi ./rcS,rcS的S需要大写),按a进入编辑模式找到bin/qtoptia &这行代码,将它注释掉。在前面加个#就OK了。在下面填上要运行的QT程序的绝对路径,后面加-qws。我的QT程序是FileSystem,放在了/code目录下,所以就写为:/code/FileSyst...原创 2018-03-12 10:32:51 · 2021 阅读 · 3 评论 -
Ubuntu设置默认打开qt项目
建立软链接sudo ln -s /opt/Qt5.11.1/Tools/QtCreator/bin/qtcreator /usr/local/bin/qtcreatorsudo gedit /usr/share/applications/qtcreator.desktop[Desktop Entry]Name = Qt CreatorComment = Open qt pro...原创 2018-08-15 11:34:49 · 2046 阅读 · 0 评论 -
qt怎么新建文件
#include <QFile>#include <QDebug>#define filepath "/root/test" //文件路径QFile file(filepath); if(file.exists()) { qDebug()<<"文件存在"; }else{ qDebug()<...原创 2018-08-21 10:35:53 · 11607 阅读 · 1 评论 -
Qt实现文件管理器
Windows的资源管理器,大家很熟悉吧,可以放回上一级,查找到下一级………Qt中QDir类可以实现显示文件系统目录的效果。笔者的机器环境:Windows8.1//fileview_widget.h#ifndef FILEVIEWWIDGET_H #define FILEVIEWWIDGET_H #include <QWidget> #include...转载 2019-03-25 19:43:08 · 8885 阅读 · 3 评论 -
Qt Button控件的属性说明
按钮,常常被理解为触发一种动作请求或者命令,是与用户进行指令交互的操作。Qt中Button系列根据用途被划分为不同的定义,其实现框架为QAbstractButton提供按钮的通用性功能,此为抽象基类,所以无法进行实例化。用户需要继承定义此类,实现paintEvent,实现具体的展示。常见的Button有QPushButton,QToolButton,QRadioButton及QCheckBox。这...转载 2019-03-12 14:24:06 · 16140 阅读 · 2 评论 -
Qt之延时总结
一、阻塞型延时阻塞的原理就是:在延时期间,本线程的事件循环得不到执行。1、QThread类的sleep()最简单的延时方法就是使用QThread类的sleep(n)、msleep(n)、usleep(n),这几个函数的不良后果就是,GUI会在延时的时间段内失去响应,界面卡死,所以,这三个函数一般用在非GUI线程中。QThread::msleep(50);//阻塞延时50ms2、...转载 2019-03-08 10:36:03 · 2724 阅读 · 1 评论 -
QT--Android之全配置教程
(一)QT--Android之全配置教程(二)QT--Android之Java环境配置(三)QT--Android之Android环境配置完成Qt的Java和Android的环境配置,打开QtCreator——工具——选项——Kits——构建套件,就可以看到把鼠标移动到自动检测的构建上,可以看到,说明Android的配置基本完成了。检验qt的Android配...原创 2019-01-02 14:52:36 · 9030 阅读 · 0 评论 -
Qt5.12之程序发布教程(Windows)
在Windows平台下,用Qtcreator生成的SerialPort.exe,直接打开,可能出现以下等问题。这是缺少相应的库文件,只要把库文件找到,并粘贴在SerialPort.exe目录下就可以了。目录一、找到SerialPort.exe的路径,并复制该路径。二、按下win+Q(win10)打开Windows搜索框,输入qt,就很容易找到qt 5.12.0 for desk...原创 2018-12-25 23:32:16 · 5280 阅读 · 4 评论 -
QT--Android之Java环境配置
(一)QT--Android之全配置教程(二)QT--Android之Java环境配置(三)QT--Android之Android环境配置目录一、下载jdk-8u192-windows-x64(点击进入)二、安装过程三、配置过程四、检验java环境一、下载jdk-8u192-windows-x64(点击进入)二、安装过程下载安装包,直接打开安装,会出现两...原创 2018-12-29 10:04:56 · 2499 阅读 · 0 评论 -
在ARM板上运行Qt程序
一、编译arm版的qt程序先clean该项目然后点击project,自定义编译路径选择arm编译,然后点击下面的小锤子。二、把arm编译好的程序下载到arm板子里面,然后输入./程序名 -qws 运行...原创 2018-03-12 08:54:59 · 7875 阅读 · 3 评论