《QT学习笔记》
QT学习笔记
欧阳磊
技术改变世界,学无止境,不忘初心!
展开
-
QListWidget使用体验
主窗口继承QWidgetclass CustomListWidgetDemo : public QWidget自定义CustomListWidget继承QListWidgetclass CustomListWidget:public QListWidget主窗口添加CustomListWidget注意事项:1、主窗口添加CustomListWidget不能在使用paintEvent(),否则item显示不出来2、主窗口用于绘制,但是获取不到落在CustomListWidget原创 2021-04-23 17:06:11 · 630 阅读 · 0 评论 -
QT5:VS创建的QT项目头文件标红和控件对象无法调用
最近使用VS+QT编写代码,除了界面和调试比较舒服以外,感觉的很不习惯,小问题不断。解决方法:1、系统环境变量中添加bin路径;2、属性配置中添加包含目录和库目录。上面这个问题,会导致ui调用不了添加的控件对象,搞到怀疑人生。解决方法:1、先把ui文件编译一下;2、然后编译后的文件移除,注意是移除(文件还在),不是删除(文件没有了),然后再添加回来。...原创 2020-04-23 17:28:15 · 3195 阅读 · 1 评论 -
QT:检测U盘插入和拔出(windows)
1、先检测驱动器;2、可以使用GetDriveType函数来获取驱动器的类型,以下是函数的链接;https://docs.microsoft.com/zh-cn/windows/win32/api/fileapi/nf-fileapi-getdrivetypea?redirectedfrom=MSDN3、通过数量变化来判断插入或者移除。关键代码/**************...原创 2019-11-19 16:56:23 · 3496 阅读 · 0 评论 -
Qt5实现查找并打开文件
/******************************************************** @brief 查找文件并打开文件* @author xiaolei* @copyright -* @version V1.0* @data 2019-10-28* @note 1、通过打开文件...原创 2019-10-28 17:33:41 · 1608 阅读 · 4 评论 -
QScrollArea的简单使用
当某个区域内的小部件尺寸超过了指定范围时,QScrollArea类提供了一个滚动区域,并生成滚动条,用于滚动显示区域内的所有小部件。关键代码/***********************************************************************************************************************...原创 2019-10-24 17:59:59 · 8399 阅读 · 2 评论 -
《Qt5:将qss文件设置为高亮显示》
今天打开qss文件,发现qss代码全是灰色的,很难看,没有跟其他代码一样自动高亮显示。为了更好地编写qss代码,需要手动去设置一下qss文件代码高亮显示。操作步骤1、依次点击“工具”和“选项”按钮,弹出选项窗口2、依次选择“环境”和 “MINE类型”按钮,在“已注册的MINE类型”下面的编辑框中输入“text/css”进行搜索,此时的“模式”是不可编辑的,...原创 2019-04-16 17:25:20 · 1556 阅读 · 0 评论 -
《Qt5:同一个界面多窗口或者多页面切换(QStackedWidget)》
QStackedWidget可用于创建类似于QTabWidget提供的用户界面。之前要显示不同的内容,都是通过创建子窗口的方式来实现的,这种是属于弹窗式,而QStackedWidget可以实现同一界面切换不同的窗口,相当于把弹窗式的子窗口都绑定到了一个统一的区域,直接切换就可以显示不同子窗口的内容,但是每次只能显示一个子窗口,这个和弹窗不一样。完整代码下载百度网盘链...原创 2019-03-26 11:55:07 · 18775 阅读 · 3 评论 -
《Qt5:信号和槽使用示例》
信号和槽介绍信号和槽用于对象之间的通信。信号和槽机制是Qt的核心功能,是与其他框架提供的功能最不同的部分。在GUI编程中,当更改了某个窗口部件的状态时,需要通知另外一个窗口部件做出相应的操作。例如,如果点击了“关闭”按钮,软件需要调用close()函数来关闭当前窗口。其它开发工具可能使用回调实现这种通信,回调是指向函数的指针,因此如果希望处理函数通知您某些事件,则将指针传递给处理函...原创 2019-04-18 14:09:26 · 7035 阅读 · 1 评论 -
《Qt5+comboBox简单示例》
comboBox组合框说明comboBox组合框是一个显示当前项目的选择小部件,其实就是编辑框和下拉列表框的组合,占用的屏幕空间小,可以弹出可选项目列表,组合框可以包含像素图和字符串,组合框的项目内容可以添加和插入,也可以删除。完整项目代码下载(带图标)链接:https://pan.baidu.com/s/1xsyZV1yPEEWOvs4vV_xGUg提取码:a...原创 2019-03-11 14:31:26 · 4718 阅读 · 3 评论 -
《Qt5+正则表达式匹配字符串或者限制编辑框输入字符串》
添加头文件#include "QRegExp"#include "QRegExpValidator"关键代码QRegExp regx("^[4-9]|[1-9][0-9]|[1-3][0-4][0-9]|350$");QValidator *validator = new QRegExpValidator(regx,ui->lineEdit);ui->lineEd...原创 2019-03-07 15:48:18 · 3449 阅读 · 0 评论 -
《Qt5+修改当前项目Debug和Release文件的构建目录》
有时Qt项目移植过后,Debug和Release文件生成目录不知道跑哪去了,可能还在原来的目录,反正就是不在当前项目目录下,此时就需要修改一下项目的构建目录,让Debug和Release文件生成到当前项目目录下,具体操作如下:打开Qt项目,点击左边的“项目”按钮,弹出“构建设置”页面,在“Active Project”中选择项目,然后点击概要下的“浏览”按钮,选择你想让Debug和Relea...原创 2019-03-14 13:47:41 · 3973 阅读 · 0 评论 -
《Qt5+QtChart绘制条形图(QBarSeries)》
完整代码百度网盘链接:https://pan.baidu.com/s/1Duan1J7j1iZzP5pVsVR-pw 提取码:mydg原创 2018-12-11 11:15:46 · 3457 阅读 · 0 评论 -
《Qt5+QtChart绘制饼图(QPieSeries)》
完整代码百度网盘链接:https://pan.baidu.com/s/14P5rP8_O4m3rVSxr3iIBiA 提取码:uy1k原创 2018-12-11 14:18:23 · 4512 阅读 · 0 评论 -
《Qt5+QChart绘制动态波形图》
完整代码百度网盘链接:https://pan.baidu.com/s/183WI9WE6sGI6Z-lidxkDBA 提取码:v559 CSDN下载:https://download.csdn.net/download/mars_xiaolei/10874109原创 2018-12-25 09:37:04 · 13193 阅读 · 8 评论 -
《Qt5+QCustomPlot绘制动态时间波形图》
完整代码链接:https://pan.baidu.com/s/1lWBCSmftFHMU2hHFdqyMpg提取码:aydj原创 2018-12-25 16:05:26 · 5272 阅读 · 9 评论 -
《Qt5+解决中文乱码问题》
如果不了解计算机字符编码的同学可以看下这篇文章:《字符编码笔记:ASCII,Unicode 和 UTF-8》文章链接:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html Qt添加外部文件后,如果编码格式不支持中文,就会导致中文乱码,如下图所示: 我的Qt Creator默认设置的编码格...原创 2019-02-22 10:34:46 · 2323 阅读 · 0 评论 -
Qt5:报错error: 'tr' was not declared in this scop
当使用Qt国际化翻译函数tr时,如果超出了使用范围就会出现以下情况:国际化翻译函数tr是QObject类的静态公共成员函数,而QObject类是所有Qt对象的基类,国际化翻译函数tr只有在QObject类或者其子类中可以使用,像QWidgets就是继承自QObject类,因此在QWidgets的小部件中就可以直接使用国际化翻译函数tr,如果是在QObject类外部,使用tr函数进行翻...原创 2019-02-22 14:11:48 · 5178 阅读 · 0 评论 -
《Qt5+QString和String转换》
QString转StringQString str1="Hello World !";string str2=str1.toStdString();cout<<"str2:"<<str2<<endl;String转QStringstring str1="Hello World !";QString str2=QString::fromStd..原创 2019-03-05 17:40:25 · 1153 阅读 · 0 评论 -
《Qt5+数字转QString并保留小数点位数》
整数转QString,默认情况下,基数为10,对于10以外的基数,被视为无符号整数。小数转QString,会转换为与数字n等效的字符串,并根据指定的格式和精度进行格式化。函数原型static QString number(int, int base=10);static QString number(uint, int base=10);static QString numbe...原创 2019-03-05 18:00:35 · 7030 阅读 · 0 评论 -
《Qt5:Widget、Dialog和MainWindow之间的关系》
目录概述官方文档Widget(小部件)MainWindow(主窗口)Dialog(对话框)概述Widget翻译过来是小部件的意思,Widget、Dialog和MainWindow三者都可以独立创建用户界面。QWidget类是所有用户界面对象的基类,QMainWindow和QDialog其实就是QWidget的子类,唯一有点血缘关系的就是继承了QWidget类,...原创 2019-05-08 10:53:43 · 8889 阅读 · 1 评论 -
《Qt5:读写XML文件QXmlStreamWriter和QXmlStreamReader》
Qt5读写XML文件需要用到QXmlStreamWriter类和QXmlStreamReader类。QXmlStreamWriter类TheQXmlStreamWriterclass provides an XML writer with a simple streaming API.Header: #include <QXmlStreamWriter>...原创 2018-10-26 10:02:55 · 2511 阅读 · 0 评论 -
Qt5:ini配置文件的读写操作
QSettings类官方文档用户通常希望应用程序在会话中记住其设置(窗口大小和位置,选项等)。此信息通常存储在Windows上的系统注册表中,以及macOS和iOS上的属性列表文件中。在Unix系统上,在没有标准的情况下,许多应用程序(包括KDE应用程序)使用INI文本文件。在项目中,有时需要在程序之外设定一些初始值,一般这些初始值会写入到配置文件中。ini配置文件格式:ini文件由...原创 2019-07-26 14:24:21 · 4863 阅读 · 0 评论 -
Qt5:error: no matching function for call to 'MainWindow::connect()
报错代码:connect(ui->chartComboBox,&QComboBox::currentIndexChanged,this,&MainWindow::getChartIndex);报错内容:E:\Qt_Project\QtCharts\mainwindow.cpp:22: error: no matching function for call t...原创 2019-08-02 17:45:44 · 7492 阅读 · 0 评论 -
《Qt5:插件》
插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。插件的好处应用程序和插件的关系1、应用程序可以单独运行,插件不能单独运行,插件用于扩展应用程序的功能。2、应用程序通过加载插件,使得插件可以发挥其功能。3、加载插件后,不影响应用程序本身的功能。插件扩展了现有应用程序的功能...原创 2019-05-07 17:11:02 · 2209 阅读 · 0 评论 -
《Qt5:键盘事件》
QKeyEvent类用来描述了一个键盘事件。常用的键盘事件有两种:按键按下和按键释放,一般按键按下事件用的多一点,下面为键盘按下和释放事件的声明:public: void keyPressEvent(QKeyEvent *event); void keyReleaseEvent(QKeyEvent *event);cpp部分代码,添加了一个编辑框用于显示按下的按键值...原创 2019-05-06 21:37:05 · 3247 阅读 · 3 评论 -
《Qt5:文件对话框简单使用示例》
QFileDialog创建文件对话框可以使用QFileDialog类创建一个文件对话框,用于选择文件夹和普通文件,可以选择单个文件也可以选择多个文件,可以限制文件的格式也可以不限制,这里的选择其实就是获取文件夹和普通文件的路径,后续再利用获取的路径打开相应的文件,如下图所示。以下是QFileDialog类常用的公有静态成员函数,通过这些公有静态成员函数可以快速的创建各种文件对话框。...原创 2019-05-06 17:27:23 · 2060 阅读 · 0 评论 -
《Qt基础教程之Qt学习之路》
在Qt开源社区中,有一个很好的Qt教程,叫做《Qt 学习之路》,下面是它的链接和目录。链接地址:http://www.qter.org/thread-629-1-1.html目录第1篇 序第2篇 Qt简介第3篇Hello, world!第4篇 信号槽第5篇 自定义信号槽第6篇 Qt模块简介第7篇MainWindow 简介第8篇 添加动作第9篇 资源...原创 2018-03-02 16:07:24 · 106624 阅读 · 15 评论 -
《Qt5+安装包制作(Qt Installer Framework)》
Qt Installer Framework 概述Qt5可以使用官方的Qt Installer Framework框架制作安装包Qt Installer Framework框架提供了一组工具和实用程序,用于创建一次安装程序,并在所有受支持的桌面Qt平台上部署它们,而无需重写源代码。安装程序将在运行它们的平台上具有本机外观:Linux,Microsoft Windows和OS X.安装...原创 2018-11-07 15:52:56 · 35243 阅读 · 29 评论 -
《Qt5+播放gif动图》
示例代码演示了如何使用QMovie和QLabel来显示动画(GIF)。如果想要播放简单的动画而没有安装和部署多媒体框架的复杂性,QMovie最有用。 widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class QCheckBox;class QGridLayout;class QHBox...原创 2018-11-05 16:58:27 · 1829 阅读 · 0 评论 -
《Qt5:NSIS制作软件安装包》
目录NSIS概述HM NIS Edit概述Qt程序打包发布使用HM NIS Edit生成安装包程序安装应用程序NSIS概述NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它...原创 2018-11-08 15:29:20 · 2319 阅读 · 0 评论 -
Qt5:TabWidget选项卡
Qt的Tab Widget控件会创建一个标签栏,标签栏上可以创建很多选项卡,默认自动生成两个(tab和tab_2),其它的自己添加,而每个选项卡又控制着一个界面,切换不同的选项卡就会跳转到相应的界面,实现了资源共享的功能。简单示例这个简单示例是根据官方文档使用代码来创建选项卡,没有使用Qt设计师添加,Qt设计师只是添加了一个Tab Widget标签栏。打开Qt,新建一个Q...原创 2018-11-12 10:31:02 · 36250 阅读 · 20 评论 -
《Qt5+查找和替换》
选中要查找和替换的标识符,Ctrl+F,打开查找和替换窗口查找和替换常用操作Find Previous:向前查找Find Next:向后查找Replace:单个替换Replace & Find :查找并替换Replace All:全部替换一般我们查找的时候是不区分大小写的,这就很麻烦,全部替换的时候把不该替换的也给替换了,因此需要稍作修改,选择上图...原创 2018-11-16 10:11:18 · 5081 阅读 · 0 评论 -
《Qt5+QAxObject操作Excel》
Qt5操作Excel需要用到QAxObject类,还需要在pro文件中添加QT+=axcontainer。QAxObject类The QAxObject class provides a QObject that wraps a COM object. Header: #include <QAxObject> qmake: QT += axcont...原创 2018-10-26 09:56:38 · 10901 阅读 · 12 评论 -
Qt5:QTableWidget创建表格
Qt5在窗口创建表格需要用到Table Widget控件,示例代码实现了以下功能,具体情况如上图所示:设置表格行列数 添加内容 添加横向表头 纵横表头可视化 栅格可视化 是否可编辑 设置表格选择方式(整行或者整列) 设置选择目标方式 设置选中颜色 合并单元格 设置滚动条 获取单元格内容 添加Combox控件 添加图片 删除行和列 清空内容具体做法如下:...原创 2018-10-26 10:00:28 · 24978 阅读 · 7 评论 -
《Qt5:QCustomPlot绘制二维图表》
QCustomPlot官网:https://www.qcustomplot.com/打开QCustomPlot官网可以看到很多绘制二维图表的例子下载QCustomPlot资料打开QCustomPlot官网,点击download section进入下载页面,下载最新版本的源码和实例,解压绘制柱状图1、打开Qt,创建一个Qt Widg...原创 2018-10-23 00:37:38 · 3065 阅读 · 1 评论 -
《Qt5配置OpenCV》
安装配置Windows10+Qt5.11+OpenCV3.3+MinGW+CMake3.13下载和安装Qt下载链接:http://download.qt.io/archive/qt/或者http://download.qt.io/official_releases/qt/同时也可以到Qt官方网站去下载,只是需要注册一个账户,注册了就可以下载一个开源的Qt官方...原创 2018-10-21 23:09:53 · 3354 阅读 · 1 评论 -
Qt5:opencv摄像头播放视频
完整代码GitHub下载:Qt+opencv摄像头播放视频CSDN下载:https://download.csdn.net/download/mars_xiaolei/11015580前期准备我们的目的是将摄像头采集到的视频显示在Qt界面窗口上,而不是imshow到OpenCV自己的窗口上。在编写代码之前,需要先在Qt上配置OpenCV,如果没有配置,请先把O...原创 2018-10-23 23:17:17 · 10728 阅读 · 6 评论 -
《Qt5+SQLite数据库》
SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比...原创 2018-10-24 23:41:06 · 4246 阅读 · 3 评论 -
《Qt5+QDate和QTime获取当前系统日期和时间》
QDate对象包含日历日期,即年,月,日的数字。它可以从系统时钟读取当前日期,提供了比较日期和操作日期的功能。例如,可以在日期中添加和减去天,月和年。QTime对象包含一个时钟时间,即自午夜的小时,分钟,秒和毫秒数。它可以从系统时钟读取当前时间并测量经过时间的跨度,它提供了通过添加毫秒数来比较时间和操作时间的功能。 QDate简单示例#include "mainwindow.h"...原创 2018-11-21 12:02:06 · 7873 阅读 · 0 评论 -
《Qt5+修改默认构建路径》
Qt Creator点击运行之后,会默认创建一个build文件夹,里面包含了debug和release文件,可执行文件exe就包含在debug和release文件里头。但是build文件夹和项目文件同在一个目录下,项目少还好,项目一多,就感觉很凌乱,因此就需要将debug和release文件存放至项目文件夹下。 修改默认构建路径执行步骤 打开Qt Creator,点击...原创 2018-11-19 13:26:27 · 1955 阅读 · 1 评论