![](https://img-blog.csdnimg.cn/20200304232654436.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Qt
文章平均质量分 53
学习Qt遇到的问题和心得,还有Qt组件的简单使用笔记,希望能帮到有需要的人
嵌入式-小王
嵌入式软件工程师
展开
-
Qt+MySQL实现社团管理系统
系统主要实现的功能如下图所示社团管理系统主要包含了以下几个亮点功能轮播图显示社团信息支持excel形式的导入导出学生信息权限控制(管理员、超级管理员、用户)原创 2024-07-10 23:31:10 · 454 阅读 · 0 评论 -
Qt 5.12.2 离线安装包 阿里云盘(现在安装一个Qt是真的恶心啊!!!!!!)
想用Qt写个小程序,需要用到MySQL,发现MySQL的驱动没有被集成在Qt 6.x的驱动中,需要手动编译。不想折腾了,想下载一个5.x的版本,就不用这么麻烦了,但是找遍官网,只留了一个5.12版本的。后面多方尝试,下载了一个新的离线源码包,不过编译一直提示错误,推测跟使用的编译套件有关系。因此费劲千辛万苦找到了一个离线包,费劲波折之后,把它存放到阿里云盘,造福一下后来者。解压之后,发现源码中没有mysql.pro!点击下载呢,速度几十K,太感人了…摩洛哥炒饼的**Qt,真的气人。原创 2023-07-09 09:48:27 · 1425 阅读 · 5 评论 -
Qt开发的文本解析工具
报文解析工具功能简介支持自定义导入文件修改关键字多线程解析文本保存解析之后的文本到新的文件一键打开文件保存文件夹核心功能相关代码如下:自定义导入文件bool MainWindow::openLogFile(){ //文本导入框 QString strPath = QFileDialog::getOpenFileName(NULL,QString::fromUtf8("选择文件"),"",QObject::tr("All(*.*)")); if(strPath原创 2021-07-14 00:00:35 · 1114 阅读 · 1 评论 -
使用enigma virtual box打包Qt程序提示未包含Qt5Core.dll
使用enigma virtual box打包Qt程序提示未包含Qt5Core.dll今天使用上述软件将一个Qt程序打包之后在本地运行正常,但是在朋友电脑中运行提示未包含Qt5Core.dll库解决方法:首先确认自己使用windeployqt.exe打包后的程序,朋友的电脑运行提示缺少以上三个库:libgcc_s_seh-1.dlllibstdc++ -6.dlllibwinpthread-1.dll根据缺少的库文件到Qt的安装路径下拷贝出指定的库文件,例如:D:\Qt\Qt5.12.10\原创 2021-07-13 23:41:41 · 1243 阅读 · 2 评论 -
软件工程本科毕设:基于图像的火灾检测
文章目录基于图像的火灾检测个人情况及相关技术开发环境软件平台硬件平台系统存在的问题系统架构系统基本工作流程系统运行效果代码实现上位机代码下位机代码数据库结构系统硬件展示基于图像的火灾检测个人情况及相关技术双非普通本科,2017届软件工程移动设备应用开发方向,毕设所用技术:Qt、SQLite、OpenCV、树莓派毕业设计题目是自己选定的,导师负责审核,由于学校学习嵌入式软件开发的同学较少,所以审核很容易本博客为分享备忘性质,旨在为需要的同学提供思路,不喜勿喷开发环境软件平台开发平台:Ubun原创 2021-05-26 00:01:57 · 1957 阅读 · 5 评论 -
Qt程序运行之后不显示窗体
Qt程序运行之后不显示窗体原因:误将类成员函数名称命名为show在进行程序编写时,我发现程序执行之后程序只将qDebug打印的信息输出到控制台,但是没有显示程序窗体,经过排查发现自己定义了一个成员函数show用于输出指定信息QtCreator创建的项目的main.cpp中,默认程序内容如下:#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication原创 2020-12-28 23:23:29 · 15129 阅读 · 10 评论 -
Qt日志重定向(将qDebug信息输出到界面控件)
Qt日志重定向程序日志对于输出程序运行信息有着非常重要的作用,它可以帮助程序员定位问题所在,输出程序运转状态等在使用QtCreator编写程序时,我们可以使用qDebug方便的将自己需要的信息输出,但是如果想将其显示到程序的控件上,又该怎样做呢?经过一番搜索,我找到了将qDebug重定向的方法,可以将其输出的信息自由的存放到ui控件或文件中(搜到的大部分教程都是将日志信息重定向到文件中,容易让人误以为它只能重定向到文件)qInstallMessageHandler由于本人开发环境为Qt5,因此本文原创 2020-12-28 22:39:57 · 10499 阅读 · 6 评论 -
树莓派和上位机使用TCP通信(字符串和图像传输)
文章目录树莓派和上位机使用TCP通信系统介绍字符串通信树莓派具体实现代码:Qt具体实现代码:程序执行图像发送树莓派具体实现代码:Qt具体实现代码:程序执行树莓派和上位机使用TCP通信系统介绍下位机: 树莓派作为下位机,IP地址为192.168.199.206,作为tcp的客户端(c实现),通信端口号为8888,上位机: Ubuntu(虚拟机)作为上位机,作为tcp的服务端(Qt实现),Qt版本为5.12,IP地址为192.168.199.149,通信端口为8888注意:该系统为单向通信,只能由原创 2020-12-24 23:56:16 · 6737 阅读 · 2 评论 -
QCharts绘制柱状图,柱高和y轴数据刻度不匹配
QCharts绘制柱状图,柱高和y轴数据不匹配使用QCharts之前,需要确保自己在安装Qt组件时,选中了Charts这一组件如果需要使用QCharts绘制柱状图,需进行以下设置//在项目pro文件中添加以下内容QT += charts//在.h文件中添加以下内容,注意:需要将头文件及命名空间添加到ui命名空间之前,否则将提示错误#include <QtCharts/QChartView>#include <QtCharts/QBarSeries>#in原创 2020-11-25 23:48:32 · 2480 阅读 · 0 评论 -
子类使用connect之后提示父类没有槽函数
在子类中使用connect创建信号槽连接时,收到了错误提示如下:QObject::connect: No such slot Board::on_btn_SimpleClicked()问题十分简单,只需要在子类中添加Q_OBJECT即可,具体添加位置如下:class child : public father{ Q_OBJECTpublic: child();}但是,添加之后程序仍提示错误,原因在于没有将之前程序生成的中间文件删除,已经两次忘记清空中间文件,特记录备忘.原创 2020-09-14 21:22:53 · 392 阅读 · 0 评论 -
Qt使用QPainter在子控件上绘图
Qt使用QPainter在子控件上绘图因为Qt存在事件过滤机制,事件过滤器会将子控件上的绘图事件过滤,因此无法在子控件上使用QPainter进行绘图如果需要在子控件上使用QPainter,同样需要事件过滤器事件过滤器事件过滤器与其他部件不同,它不是一个类,只是由两个函数组成的一种操作用来完成一个部件对其他部件的事件监视,这两个函数分别是installEventFilter()和eventFilter(QObject *obj, QEvent *ev),都是QObject类中的函数使用步骤:安原创 2020-06-15 17:54:53 · 10148 阅读 · 2 评论 -
在Qt中查看.raw文件
在Qt中查看.raw文件Qt中图像类为QImage,而OpenCV对图像操作使用Mat/IplImage,因此,想要在Qt的控件上查看.raw文件需要先将IplImage/Mat转换为QImage推荐链接:IplImage与QImage之间相互转换的问题笔者就是参考这个链接,稍加改动,将.raw文件显示到了QLabel中代码如下:void MainWindow::showImage(){ //文件路径必须这样写,否则会报错 char *rawFileName = "D://QT/原创 2020-05-27 10:41:53 · 2258 阅读 · 0 评论 -
在QT中使用OpenCV(简单测试例程)
在QT中使用OpenCV(简单测试例程)在使用OpenCV之前,需要先对其编译,编译教程在上一个文章中:编译OpenCV遇到的问题,含编译教程推荐将OpenCV编译安装之后,将会在CMake的目的目录生成相关文件:lib、bin在目的目录(CMake中填写的目的目录),install文件夹下可以找到include文件夹,建议将三者放到一起本人将生成的目录放置路径如下:D:\QT\Source\SourceFile\lib之后创建一个Qt项目,在.pro文件中添加如下语句INCLUDEPATH +=原创 2020-05-26 22:34:41 · 5716 阅读 · 2 评论 -
使用MinGW、CMake编译OpenCV遇到的问题
使用MinGW、CMake编译OpenCV遇到的问题OpenCV环境搭建首先,需要下载OpenCV的安装文件,官方下载链接如下:https://opencv.org/releases/由于官网下载速度感人,因此将百度网盘链接分享出来OpenCV4.0.1提取码:3avb具体安装方式就不再赘述,参照网上的安装教程即可推荐教程一推荐教程二出现的问题:错误提示:CMake Error in modules/highgui/CMakeLists.txt: No known features fo原创 2020-05-26 16:39:56 · 17523 阅读 · 0 评论 -
简单的社区管理系统(Qt)
文章目录社区管理系统数据查看界面温度管理界面物资配送界面总结社区管理系统开发环境: Qt5,windows10,MySQL5.7系统简介: 该系统用于完成《智能硬件编程作业》,结合此次疫情写一个项目,并将其移植到硬件平台于是设计了这个包含物资配送和体温管理的社区管理系统该系统设计到的主要技术:该系统包含多个界面,使用TableView展示数据库中的数据,且可以更改图表,更新到数据库系统...原创 2020-04-17 19:53:47 · 3230 阅读 · 6 评论 -
QML入门第一步
QML学习笔记本笔记参照bilibili的一个QML教程写的,具体视频链接将在文中给出,希望大家多去支持原作者原创 2020-04-07 21:20:33 · 1065 阅读 · 0 评论 -
Qt入门书籍推荐 《Qt 5.9 c++ 开发指南》
Qt入门的书籍有很多,本人使用的是《Qt 5.9 c++ 开发指南》一书,如果同学们家境殷实,还是希望大家多多支持正版;但是如果大家像我一样家境贫寒,可以在此获得该书的电子版以及相关配套资源,此资料仅用于个人学习,请勿商用如果此博客侵犯了相关人员的版权,请联系本人删除,谢谢原创 2019-12-10 10:32:33 · 13043 阅读 · 24 评论 -
Qt在工程中添加资源文件
在创建一个Qt项目时,我们经常使用到一些图标文件,这时就需要在项目中添加资源文件当然,在使用项目文件时使用本地文件也是可以的(不太推荐)接下来,我就将添加资源文件的步骤记录备忘第一步,新建资源文件在Qt Creator中点击"File-->New File or Project-->Qt-->Qt Resource File"之后选择Choose.....原创 2019-12-02 16:43:46 · 1379 阅读 · 0 评论 -
Qt中Qt Charts的使用
在使用Qt Charts模块之前,你需要确认在安装Qt时的组件选择中,你勾选了Qt Charts这个组件要想使用该模块,必须在.pro文件中添加下面的语句QT += charts在确认.pro文件中添加了相应语句并保存之后,需要在程序头文件中添加#include <QtCharts>QT_CHARTS_USE_NAMESPACE或者#incl...原创 2019-11-23 21:51:30 · 4469 阅读 · 0 评论 -
常见界面设计组件————QTableWidget的使用
QTableWidget概述QTableWidget是Qt中的表格组件类。在窗体上放置一个QTableWidget组件后,可以在Property Editor里对其属性进行编辑,双击这个组件,可以打开一个编辑器,对其Colum、Row和Item进行编辑。一个QTableWidget的基本结构如图所示:表格的第一行通常称为表头,用于设置每一列的标题, 第一列称为列表头,可以设置其标题,但...原创 2019-06-30 21:46:59 · 5206 阅读 · 1 评论 -
Qt创建右键快捷菜单无法触发customContextMenuRequested()信号
在为listWidget组件添加右键快捷菜单时,已经编写了信号customContextMenuRequested()的响应槽函数,但是在该组件上点击右键并没有触发该信号原因在于没有添加右键菜单策略,也就是说,组件listWidget无法知道我们是否点击了它在主窗体类的构造函数中,添加listWidget组件的右键菜单策略,以响应customContextMenuRequested(...原创 2019-06-12 16:20:26 · 10710 阅读 · 7 评论 -
Qt如何使用自带的windeployqt打包程序(绿色软件,安装包)
winde编写程序生成.exe文件之后,如果想要使其发布时,需要复制大量的.dll文件,且十分容易复制错误或缺少特定文件为了方便此操作,Qt自带了一个打包程序windeployqt来打包这些文件一、打包绿色软件具体的步骤如下:1、生成可执行文件.exe打开Qt中的工程,在右下角选择目标文件的类型(如果是要发布程序,需要选择release)接着在项目存放路径中找到buil...原创 2019-09-26 12:21:51 · 1544 阅读 · 1 评论 -
解决Ubuntu下安装Qt5.8无法输入中文的问题
一、安装fcitx-frontend-qt5终端输入:sudo apt-get install fcitx-frontend-qt5二、在以下路径中找到特定文件/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 三、将文件libfci...原创 2019-05-30 15:40:07 · 811 阅读 · 2 评论 -
QT常见界面设计组件——字符串的输入输出
一、字符串与数值之间的转换界面设计最常用到的组件就是QLabel和QLineEdit;QLabel用于显示字符串,QLineEdit用于输入和显示字符串两个函数都涉及到QString类。QString类是Qt程序中经常使用的类,用于处理字符串,可以实现字符串与数值之间的转换接下来在Qt中设计一个工程,完成字符串与数值间的转换界面效果如下:其中,上方的几个组件构成了一个G...原创 2019-05-30 21:12:32 · 12154 阅读 · 0 评论 -
QT常用界面设计组件----SpinBox
SpinBox用于整数的显示与输入,一般显示为十进制,也可以显示二进制和十六进制的数,而且可以在显示框增加前缀和后缀QDoubleSpinBox用于浮点数的显示和输入,可以设置显示小数位数,也可以设置显示的前缀和后缀它们都是QAbstractSpinBox的子类,具有大多数相同的属性,只是参数类型不同。在UI设计器中进行页面设计时,就可以设置这些属性。QSpinBox和QDoubleS...原创 2019-05-31 14:50:24 · 27794 阅读 · 0 评论 -
QT常用界面设计组件——QListWidget和QToolButton
实例简介QT中用于项处理的组件有两类:一类是Item Views,包括QListView、QTreeView、QTableView、QColumnView;另一类是Item Widget,包括QListWidget、QTreeWidget、QTableWidgetItem View是基于模型/视图(Model/VIew)结构,视图(View)与模型数据(Model Data)关联实现数据的...原创 2019-06-12 16:04:12 · 3436 阅读 · 1 评论 -
QT常见页面设计组件——QComboBox和QPlainTextEdit
QComboBox是一个下拉列表框组件类,它提供一个下拉列表供用户选择,也可以当作一个QLineEdit用作输入。QComboBox处理显示可见下拉列表外,每个项还可以关联一个QVariant类型的变量,用于储存一些不可见的数据QPlainTextEdit是一个多行文本编辑器,用于显示和编辑多行简单文本实例效果如下:QComboBox的使用1.设置属性设置QComboBox...原创 2019-06-06 20:14:38 · 1956 阅读 · 0 评论 -
QT常用界面设计组件——其它数值输入和显示组件
实例功能QSlider:滑动条,通过滑动设置数值,可用于数值输入。(此实例使用四个滑动条输入红、绿、蓝三色的Alpha值,然后合成颜色,作为一个QTextEdit组件的底色)QScrollBar:卷滚条,与QSlider功能类似,还可以用于卷滚区域QProgressBar:进度条,一般用于显示任务进度,可用于数值的百分比显示(实例程序中滑动一个Slider,获取其值并更新ScrollB...原创 2019-06-01 17:34:52 · 3439 阅读 · 0 评论 -
Ubuntu环境下安装QT5
1.在官网下载相关文件下载链接:http://download.qt.io/archive/qt/链接:https://pan.baidu.com/s/1GFO78QJu1sve_tsyQif0Og 提取码:132i打开之后如下图所示:选择5.8版本,进入该目录下载安装程序时需注意,只能下载qt-opensource-linux-x64-5.8.0.run,因为只有...原创 2019-05-29 20:02:20 · 16087 阅读 · 3 评论 -
QT常用界面设计组件——时间日期和定时器
时间日期相关的类QTime:时间数据类型,仅表示时间,如19:20 QDate:日期数据类型,仅表示日期,如2019/6/1 QDateTime:日期时间数据类型,表示时间和日期,如2019-6-1 19:20QT中专门用于时间、日期编辑显示的组件QTimeEdit:编辑和显示时间的组件 QDateEdit:编辑和显示日期的组件 QDateTimeEdit:编辑和显示时间和日期的...原创 2019-06-02 11:32:04 · 7761 阅读 · 5 评论 -
Qt绘图时,提示错误QWidget::paintEngine: Should no longer be called
在Qt进行的绘图过程中,提示如下内容,原因是Qt中的绘图只能在paintEvent()中进行如果在其它函数进行绘图,则会提示如下错误原创 2019-06-21 11:27:33 · 6688 阅读 · 1 评论 -
QT常见界面设计组件——QTreeWidget和QDockWidget
实例概述此实例主要介绍QTreeWidget、QDockWidget的使用,以及用QLabel显示图片的方法,实例主要使用QTreeWidget,创建一个照片管理器,实例运行界面效果如下:此实例的主窗口是从QMainWindow继承而来,主要演示了下面几个组件的使用:QTreeWidget目录树组件 QTreeWidget类是创建和管理目录树结构的类,实例使用了一个QTre...原创 2019-06-18 10:18:42 · 4057 阅读 · 6 评论 -
Qt播放音乐DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070002 ()
在Qt中实现背景音乐的播放是常见的需求,使用QMediaPlayer即可实现但是需要注意以下问题:在使用QMediaPlayer需要在项目文件.pro加入QT += multimedia在UI设计界面添加一个pushbutton按钮,编辑其响应槽函数如下:void MainWindow::on_pushButton_clicked(){ music();}vo...原创 2019-06-22 12:08:13 · 12068 阅读 · 14 评论 -
Qt产生指定范围内随机数(随机字符串)
在编写QT项目时,产生随机数和随机字符串是十分常见的需求,使用qrand函数就能够实现但是我们也知道,如果不使用种子的话,产生的随机数并不是真正的随机数,而是固定的数字通常情况下,我们会使用当前时间作为随机数的种子,以产生真正意义上的随机数Qt产生随机数代码如下:int MainWindow::getRandom(int min,int max){ qsrand(QTi...原创 2019-06-27 16:05:29 · 13075 阅读 · 1 评论 -
在Qt中使用MySQL
实验环境:windows 10、Qt creator 5.12.1、MySQL 5.7首先,我们在Qt中新建一个工程,在ui设计器中添加一个pushbutton在工程的.pro文件中添加如下内容:QT += sql //如果不添加,则无法在.cpp文件中添加相应头文件右键pushbutton,点击go to slot转到槽并编写槽函数,具体槽函数如下:...原创 2019-07-08 17:55:29 · 1637 阅读 · 1 评论 -
Qt creator在发布程序时提示0xc000007b
在发布Qt程序时,将release文件夹中的.exe文件放到单独的文件夹中,双击此文件提示缺少*.dll文件,将文件复制到此文件夹后却提示程序无法正常运行,错误码为0xc000007b这是由于可执行文件链接的*.dll文件不正确,我们在复制相关.dll文件时,一定要注意选择F:\Qt\Qt-5.12.1\5.12.1\mingw73_64\bin文件夹下的文件,而在F:\Qt\Qt-5.12....原创 2019-07-01 11:17:01 · 2648 阅读 · 0 评论 -
Qt中创建一个QDialog时提示错误:setGeometry: Unable to set geometry 152x30+851+462 on QWidgetWindow/'QInputDialo
在使用Dialog对话框时,虽然成功弹出了对话框,但是每次都会出现以下提示信息:setGeometry: Unable to set geometry 152x30+851+462 on QWidgetWindow/'QInputDialogClassWindow'. Resulting geometry: 219x107+851+462 (frame: 9, 38, 9, 9, custom...原创 2019-07-11 16:54:07 · 5737 阅读 · 0 评论 -
Qt实现多窗体编程
在学习多窗体编程时,遇到许多的问题以及错误,对搜到的教程一知半解并且遇到好多的将源码放到csdn下载上这种让人很难受的操作,因此写下此博客,记录一下遇到的问题一、新建窗体首先,多窗体编程意味着你必须有两个或更多的窗体,因此需要新建窗体一般情况下,我们使用Qt creator创建的项目如下所示,可以使用以下方法新建窗体点击左上角的file按钮,选择新建文件或项目之后选择新...原创 2019-08-08 14:16:04 · 2118 阅读 · 2 评论 -
QT实现在关闭子窗体之后,主窗体显示
在一些特定的场合,需要在关闭子窗体之后重新显示主窗体,例如:在登陆界面点击按钮进入注册界面,完成注册之后关闭注册界面,就需要重新显示登录界面参考链接:https://www.cnblogs.com/CLXiao-1029/p/8652584.html一、多窗体的建立如果需要了解多窗体的建立方法,可以查看我的另一篇博客,这里就不再赘述https://blog.csdn.net/Wan...原创 2019-08-08 15:44:11 · 2659 阅读 · 1 评论 -
新安装的QT无法创建工程,选择文件储存路径后无法进行后续操作
在上一篇文章中,我们介绍了如何在Ubuntu下安装QT5.8但是在桌面上的所有应用中打开Qt creator之后,创建新的工程时却遇到了问题,如下图所示在选择了工程储存路径之后,发现无法点击Next进行后续操作经过反复思考,找到了问题所在在安装Qt程序时,我们是在root权限下进行,并且安装目录也不在用户目录下,因此普通用户无法找到Qt安装的相关文件,也就无法进行工程的创建...原创 2019-05-30 11:31:12 · 4187 阅读 · 4 评论