![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
SUST狗子
这个作者很懒,什么都没留下…
展开
-
Qt+Mysql数据库(云端)问题解决汇总
1.环境问题解决在不同平台下最常见问题MYSQL driver not loadedwin:可以简单理解driver缺少的问题是相关库缺少的问题,qsqlmysql.dll与qsqlmysqld.dll 或是libmysql.dll与libmysql.lib。QT:MYSQL driver not loaded解决方法 - ShineLe - 博客园0、参考(按对本人帮助从高到低排列) Qt5.14.1 如何编译和使用mysql和mariadb数据库驱动 (15条消息) QMYSQL...原创 2021-11-05 21:59:51 · 423 阅读 · 0 评论 -
Qt实现简易版的网络调试助手支持多端口监听(服务端)
调试DSP的小伙伴,需要对多个端口的客户端进行发送响应,但是用到的网络助手只支持单一发送,因此找我写了个简单Demo,供大家参考,后续可以考虑将combox作为勾选项,控制特定端口进行发送。界面大概长这个样子,使用ui拖拽绘制的,没有什么好讲的,左边上半区打印接收信息,左边下半区为打印信息。主要代码:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTcpServer>#inc..原创 2021-10-22 19:09:49 · 2419 阅读 · 0 评论 -
QUdpSocket服务端接收数据说明(非阻塞)
先说结论吧,QUdpSocket不支持阻塞式访问,正常非阻塞的要么需要信号槽机制访问,要么需要循环判断,导致的结果就是要不丢包严重,要不CPU占用率高,还是建以利用socket自己去实现UDP。参考:QT中UDPSocket丢包问题_rabbitjerry的专栏-CSDN博客_qt udp丢包1.信号槽机制访问#include <QCoreApplication>#include <QUdpSocket>#include <QHostAddress&g原创 2021-09-23 16:00:18 · 2455 阅读 · 2 评论 -
Qt非GUI线程中执行Update函数UI界面假死的问题解决
业务逻辑很简单,就是收到udp数据后,更新绘图参数,然后执行绘图。最开始试过用定时器触发,发现定时器触发容易受到Ui操作事件的影响,导致图像绘制刷新速率肉眼可见的不同。再提高定时器的jing'q...原创 2021-06-04 22:16:44 · 1080 阅读 · 0 评论 -
C++如何实现二进制数据存储为灰度图
本人是以Qt开发的,奈何数据太大8192*12384字节的数据,直接12Mb,导致QImage生成实例化对象时,老是弹出out memory的输出信息,显示通过分开画图再组合的方式实现了,本想存chun原创 2021-06-01 22:36:07 · 763 阅读 · 1 评论 -
QMainWindow中应用QStatusBar的简单样例
用到StatusBar是因为,需要显示一下TCP的网络信息,IP或者端口以及当前的状态之类的。很简单,首先QMainWindow中有一个函数叫void QMainWindow::setStatusBar(QStatusBar *statusbar)//Sets the status bar for the main window to statusbar.//Setting the status bar to 0 will remove it from the main window. Not原创 2021-05-25 16:28:00 · 567 阅读 · 1 评论 -
Qt如何修改MainWindow中的边界大小
在一次编辑项目中,发现将自己实现的Widget设置为中心页面后,边界总是存在,通过设置自己实现的Widget.setContentsMargins(0,0,0,0)han's原创 2021-05-25 15:31:26 · 1941 阅读 · 0 评论 -
Qt打包发布release程序无法定位程序输入点的问题解决
配置一下系统的环境变量,如下图所示为环境变量配置相应的bin目录,就可以解决了!原创 2021-01-05 15:10:44 · 1599 阅读 · 0 评论 -
Qt构造函数中无法获取正确控件大小的问题解决
先看一个简单例子,在widget 中加入一个button,在构造时打印以及show()函数调用后打印button大小,发现不同。原因就是因为加了布局的原因,导致在构造结束之后,控件大小会发生改变一次。重写resizeEvent 或 showEventshowEvent在resizeEvnet之后调用,在show函数之前调用,重写这两者都可以获取正确大小。//头文件protected: virtual void showEvent(QShowEvent *event)o..原创 2020-08-15 17:42:03 · 2963 阅读 · 0 评论 -
Qt删除OpenGLFramebufferObject的函数实现(清理帧缓存)
在opengl中,实现FBO的创建和删除需要用到这两个函数glGenFramebuffersEXT(1, &fbo);glDeleteFramebuffersEXT(1, &fbo);然而在Qt中却找不到glDeleteFramebuffersEXT这个函数,而可以找到这个函数 glDeleteFramebuffers(1,&fbo);//inline void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n,原创 2020-08-12 10:00:08 · 1349 阅读 · 0 评论 -
Qt QTableWidget类方法setItem()bug问题解决
自己用QTableWidget来记录实时数据时,出现该问题,百度之后发现是因为在最初设置行数处(setRowCount()),设置的行宽不够,在对数据测试时,数据超出了设置行数,在调用相关setText()时,出现空指针导致程序崩掉。网上现存的解决方案中,是对该指针以及后续text进行空指判断,个人觉得这种实现方式治标不治本,所以本文会给出两种该bug的解决方式,以供参考。空值判断// 判断指向该item的指针是否为空 || 判断该item的text是否为空if(ui->tableW.原创 2020-07-29 09:39:43 · 7716 阅读 · 0 评论 -
利用静态槽函数关闭Qt程序
一般设置一个控件关闭应用程序是很常见的需求,但是搜了一大圈发现,大多数方式都是用槽函数调用方式实现的,但是这里存在一个问题。//常见方式 QPushButton *quitButton = new QPushButton( "Quit" ); connect( quitButton, SIGNAL(clicked()), qApp, SLOT(quit()) );槽函数的接收者必须存在一个对象,而在应用中,往往在我们定义类中,无法访问到这个对象,因此我们可以利用quit函数的静态性,使用.原创 2020-07-01 21:35:15 · 683 阅读 · 1 评论 -
OpenCV+Qt环境配置 win10-Qt5.13.0-opencv3.4.10
环境Qt版本5.13.0 安装完毕 可找国内镜像 下载地址http://download.qt.io/archive/qt/cmake 3.17.0 rc1 win64 安装完毕 下载地址https://cmake.org/download/opencv 3.4.10 国内镜像下载地址https://www.bzblog.online/opencv/win系统下载 zip包即可操作步骤1.打开CMAKE,选择opencv的源码文件,再选择一个文件夹存放需要编译的文件。...原创 2020-06-21 11:09:06 · 708 阅读 · 0 评论 -
QtOpengl之为三角形绘制纹理
前几天翻译了国外的一篇绘制三角形的文章,经过几天消化吸收,写篇自己绘制纹理的,顺便给出两种对纹理混合颜色的实现方法,关键都在于着色器的语言上。在开始之前呢,还是要从opengl的概念说起,明白纹理绘制原理的可以跳过了。纹理纹理顾名思义,就是贴在图元上的图片而已。就如下图的关系一样,首先我们有一张纹理图片,其次我们利用前面的知识画了一个三角形,然后在三角形上贴上了这张纹理图。其实贴纹...原创 2020-04-14 13:47:23 · 698 阅读 · 0 评论 -
QtQpengl中窗口坐标与世界坐标系的转换以及gluProject/gluUnProject的使用
opengl中的世界坐标系,我们都清楚是归一化到(-1,+1)之间的,而我们的窗口坐标又是以坐上角为原点的,有时为了实现页面与opengl中绘制对象的交互,两者坐标间的转化其实是很有必要的。此外,除了2D坐标外,3D坐标也可进行转换,此文只介绍了2D的使用,要是有机会之后更新3D的使用。核心代码部分 GLint viewport[4]; GLdouble modelview[16...原创 2020-04-08 17:21:21 · 2762 阅读 · 3 评论 -
QtOpenGL之绘制三角形Qt5
在本节中,我们将研究Qt5提供的一些OpenGL数据类型抽象。 这些数据类型抽象并不是创建OpenGL应用程序的100%必需的,但是它大大减少了代码量,使我们可以专注于渲染和UI,而不必担心我们的OpenGL实现。我们可以创造一个OpenGL带有颜色的三角星在我们的屏幕上。QOpenGLBufferOpenGL中的QOpenGLBuffer对象有点像GPU上动态内存的唯一ID。对于...翻译 2020-04-01 17:14:57 · 1788 阅读 · 1 评论 -
QtOpenGL之创建窗口Qt5
这个教程是从一个国外的博主搬过来的,我做了一些简单翻译和简化工作,因为我发现目前存在的qtopengl的代码版本太低了,很难上手使用,因此我将在Qt5的基础上,说明下qtopengl的使用,并将文章作为自己的一些笔记,笔者能力有限,可能存在一些疏忽的地方,欢迎大家指证。在接下来的介绍中,已经默认读者掌握了Qt的 信号和槽的使用,并能简单的构建一些应用程序。注意这里不是opengl或qt的教程,...翻译 2020-03-21 11:40:08 · 1260 阅读 · 1 评论 -
Qt实现提示音以及QSound的使用说明
类似于QQ来消息后,消息的滴滴声音,在Qt目前有两种实现方式:QApplication实现下面给出了官方文档说明,这里用的默认的声音,并需要注意到在linux不可用。[static] void QApplication::beep()Sounds the bell, using the default volume and sound. The function is not av...原创 2019-12-04 15:46:13 · 6121 阅读 · 3 评论 -
Qcustomplot实现鼠标点击获取曲线值的功能
该功能有点类似于Matlab数据游标的功能,博主本人并没有找到关于Qt自己封装的方法,因此在网上搜索资料,按照目前的方法,实现该功能。在头文件里我们需要关注QCustomplot、QCPItemText、QCPItemTracer这三个类,后两个类是在QCustomplot类上开发的新组件,第一个类是我们需要用的绘图类,需要包含.h与.cpp文件,同时修改pro文件,就可以使用了,第二个类...原创 2019-12-04 09:58:03 · 8347 阅读 · 12 评论 -
Qt固定含布局窗口大小问题
最常见的解决方式是:setFixedSize(width , height);setFixedSize(this.width() , this.height());但该方法在设置含有布局的窗口时,固定的窗口的大小存在问题。所以用下面的函数,根据窗口内的部件大小,设置窗口大小,由于设置了setfixedsize,因此完成了窗口大小的固定。setSizeConstraint(QL...原创 2019-08-29 15:00:28 · 2408 阅读 · 0 评论 -
Qt实现自动清理一周前log文件
为了避免源源不断的log文件,占据客户存储空间,因此需要实现自动清理log文件的功能。具体实现:#include <QString>#include <QFile>#include <QApplication>#include <QDateTime>#include <QFile>#include <QTextS...原创 2019-07-14 17:30:09 · 2454 阅读 · 3 评论 -
Qt 利用notify函数捕获全部事件
在最近的一个项目中,利用到了别人给的一个框架代码,但是短时间内无法深究其窗口间的层次关系,因此对不同窗口类的事件改写就很棘手,在大佬介绍下,采用了notificy函数,该函数可以捕获该程序的所有事件,因此我们可以通过debug信息获知该类窗口的事件。具体实现如下:在Qt中新建一个类.h如下#ifndef MYAPPLICATION_H#define MYAPPLICATION_H...原创 2019-07-14 16:37:48 · 4208 阅读 · 2 评论 -
Qt实现窗口同比例放大/缩小
实现思路:Qt中有resizeEvent事件,该事件当窗口大小改变时便会产生响应,所以可利用此来实现窗口同比例缩放问题,但是由于resizeEvent事件是随着窗口大小改变不断刷新的,因此在重写resizeEvent时,直接改变窗口大小,代码会产生冲突,无法决断该放大和缩小,因此为了判别resizeEvent事件结束,又重写了NonCientAreaMouseButtonRelease事件,该...原创 2019-07-08 13:25:39 · 18705 阅读 · 0 评论 -
Qt重写nativeEvent无响应问题的说明
虽然Qt事件对于系统的消息做了一些封装,但在实际过程中Qt封装的消息不满足我们,因此我们需要windos消息机制,在判断windows消息时,便要重写nativeEvent事件。(在Qt4中该函数为winEvent,在Qt5中改为nativeEvent)Windows消息总结https://www.cnblogs.com/Sunwayking/articles/2817580.htm...原创 2019-07-08 15:22:27 · 9727 阅读 · 4 评论