自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 no matching function for call to ‘xxx::connect(....

在使用QObject::connect时,遇到信号或槽函数存在多个同名函数,导致报错:多个信号无法匹配槽函数

2025-03-03 11:42:11 130

原创 C++ 多线程锁

创建时可以不锁定(通过指定第二个参数为std::defer_lock),而在需要时再锁定。条件变量需要该类型的锁作为参数(此时必须使用unique_lock)jion 阻塞式, .join()后面的代码等待线程结束。作用域规则同 lock_grard,析构时自动释放锁。创建即加锁,作用域结束自动析构并解锁,无需手工解锁。std::defer_lock (必须手动加锁)std::adopt_lock (必须先加锁)detach 非阻塞式, 后面代码继续执行。不能中途解锁,必须等作用域结束才解锁。

2023-11-23 10:33:43 207

原创 QML Image、AnimatedImage 加载 Gif动图

Image、AnimatedImage 加载 Gif动图,以及AnimatedImage加载Gif是否缓存会导致的问题。

2023-11-21 16:16:19 768

原创 Qml使用cpp文件的信号槽

SerialPort CurrrntThread = QThread(0xfcc9f0, name = “串口线程”) // serial.sendMsg(“TTTT”)运行的线程。SerialPort CurrrntThread = QThread(0x24ce850) // serial.say() 函数运行的线程。qml: button text: Cancle // 打开串口失败,取消OK按钮,默认Cancle按钮被点击打印。

2023-11-21 09:55:52 494

原创 Qt http

*1.请求报文:请求报文是由客户端发送给服务器,用于请求特定资源或执行特定操作。它由以下几个部分组成:请求方法:指定了客户端希望服务器执行的操作,如GET、POST、PUT、DELETE等。请求目标:表示客户端希望访问的资源路径,可以是绝对路径或相对路径。协议版本:指定所使用的HTTP协议的版本,如HTTP/1.1。请求头:包含了关于请求的附加信息,格式为键值对。常见的请求头字段包括:Host:指定请求的目标主机。User-Agent:标识发送请求的客户端应用程序。

2023-11-20 18:03:02 518

原创 QMenuBar和QToolBar使用同一个QAction

将qmenubar中的action添加到qtoolbar中,而不是在toolbar中重复添加action

2023-11-17 09:47:24 291

原创 qt+opengl 着色器VAO、VBO、EBO(四)

注意此处的layout(location = 0)和layout(location = 1),对应下文解析数据时的参数。顶点着色器从矩阵中读取颜色,通过"out vec3 mcolor;将(二、2)中paintGL()函数的如下代码替换注释。用到的矩阵:坐标矩阵(包含坐标和颜色)、索引矩阵。//片段着色器2 接收顶点着色器输出的颜色。用到的坐标矩阵, 四个四边形顶点坐标。

2023-11-14 11:32:05 848

原创 qt+opengl 三维坐标系(三)

qt+opengl 三维坐标系,支持放大缩小、旋转、移动; 支持单轴和栅格

2023-11-08 16:50:47 3640 7

原创 qt+opengl(一)

说明:在opengl中,坐标的数值在[-1, 1],且从上到下(y)、从左到右(z)、从高到低(z)的坐标值是从1到-1的。

2023-11-06 08:36:48 807

原创 qt opengl 绘制点、线、三角形、多边形(二)

0x0000// 点0x0001// 直线线段,按添加点的顺序,每2个点组成一条线段0x0002// 直线线段,按添加点的顺序,相邻的两个点连接,且第一个点与最后一个点也连接(多边形)0x0003// 与GL_LINE_LOOP类似,区别在于 第一个点与最后一个点 不 连接0x0004// 按添加点的顺序, 每3个点组成三角(面)0x0005// 三角(面) ,区别见后面代码演示0x0006// 三角(面),区别见后面代码演示0x0007//0x0008//0x0009。

2023-11-06 08:34:43 1910

原创 QObject: Cannot create children for a parent that is in a different thread

【代码】QObject: Cannot create children for a parent that is in a different thread。

2023-11-01 11:01:48 962

原创 Qt生成PDF报告

生成一个PDF格式文件

2023-10-24 15:56:44 1133 1

原创 Qt 串口接收包含汉字的数据,汉字乱码

【代码】Qt 串口接收包含汉字的数据,汉字乱码。

2023-10-10 17:01:48 851

原创 log4qt

Qt使用log4qt记录日志

2023-09-25 17:31:07 266

原创 qml: ReferenceError: serial is not defined

qml编译警告:qrc:/Form02.qml:67: ReferenceError: serial is not defined。解决办法:先设置串口对象在根节点中的。

2023-09-11 17:21:29 701

原创 C++ 回调函数

2.定义一个带参的回调函数(注释部分是普通回调函数,不用定义第一步里的函数指针)3.不带参或者是固定值或使用全局变量的使用(注释部分同上解释)1.定义一个函数指针。

2023-09-11 16:47:36 294

原创 自定义QGraphcsItem旋转移动缩放组合

自定义qgraphicsitem,旋转、缩放、移动、组合

2023-08-23 15:56:09 710

原创 Qt Xml的读、写、修改、删除

Qt关于Xml文件的创建写入、读取、添加、修改

2023-06-19 08:49:00 4018

原创 QT 串口接收数据不完整解决思路

Qt 串口完整接收数据问题

2023-06-16 10:51:58 5744

原创 __attribute__

是GCC编译器提供的一种扩展语法,用于指定变量、函数、类型等的属性。可以用于指定变量的对齐方式、函数的调用约定、类型的大小等属性,从而对程序的性能、可移植性等方面进行优化。

2023-06-15 16:49:06 445

原创 qcustomplot单游标在多个坐标系中切换

qcustomlot 多坐标系场景下游标的使用

2022-12-15 11:27:22 2202 15

原创 QFtp编译

QFtp编译打开源码修改头文件(不然编译会报错)打开qftp.proCONFIG += staticCONFIG -= shared改成CONFIG -= staticCONFIG += shared也就是+ - 号互换位置4. 编译生成文件linux下:*.a文件为.lib文件windows下:MSVC生成的也是.lib文件。此处使用的mingw编译,生成的是.a文件。6. 将Qt5Ftp.prl、Qt5Ft

2022-12-05 14:50:39 921

原创 qcustomplot多个坐标系

继承重写了qcostomplot原有布局样式,添加了部分自定义功能函数。

2022-07-19 16:08:28 4424 10

原创 C++ 基础随笔

C++ 知识点学习总结归纳

2022-07-18 10:14:03 186

原创 libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

2022-07-11 08:56:59 619

原创 qtabwidget tab样式

qtabwidget样式设置

2022-05-12 14:09:24 3821

原创 qt监测串口插拔

实时监测串口插拔

2022-05-12 13:43:13 1581

原创 qtxlsx读写 excel

系列文章目录Qt 读取Excel表格数据 生成Excel表格并写入数据文章目录系列文章目录前言一、QtXlsx的编译?二、使用步骤1.引入库2.读数据3. 写数据前言相较于QAxObject读写excel,qtxlsx的使用更方便,而且不会因为excel驱动的问题导致读取失败。一、QtXlsx的编译?网上关于QtXlsx源码编译库的文章很多,在这不做多余赘述。二、使用步骤1.引入库代码如下(示例):QT += core gui xlsx // .pro#in

2022-04-20 11:26:39 3362 4

原创 QTreeWidget遍历父节点

void TabWidget_1::on_checkBox_2_stateChanged(int arg1){ if(arg1 != 0) { QAbstractItemModel* model = ui->treeWidget->model(); if(model->rowCount() <= 0) return; QTreeWidgetItem* item = nullptr; for (in.

2022-01-05 09:13:10 2868

原创 QCustomPlot 缩放拖动卡顿

在使用QCustomPlot缩放时,当缩放到所有数据点同时显示在窗口上时,再拖动图层时会十分卡顿,卡顿的代码:QCPGraph* _graph = m_plot->addGraph(); //添加图表_graph->setLineStyle(QCPGraph::lsStepLeft); //设置连线类型_graph->setPen(QPe

2021-11-22 17:31:09 2487 3

原创 QCustomPlot 多个坐标系

三个水平的坐标系,如图首先说明,本案列是直接继承QCustomPlot,如果是需要通过非继承方式,自行将其中的this关键字替换为QCustomPlot* X 的X;文中有些代码省略了this,自行判断。一、添加多个坐标系步骤如下:1.清空布局中默认的坐标系及其他控件 this->plotLayout()->clear();/* 在.h文件中定义好的需要使用的控件QCPAxisRect * A0_5; //坐标系 1QCPAxisRect * A0_50; //坐标系

2021-10-30 10:49:13 6879 47

原创 QListWidget 类似于组合按钮

之前记录过QPushButton添加图片文字,通过QButtonGroup实现多个按钮只有一个可以被同时选中,与之相比,QListWidget的使用更为简洁,例子如下:QListWidgetItem* lwItem2 = new QListWidgetItem(ui->listWidget);lwItem2->setIcon(QIcon(":/img/aio.png"));lwItem2->setText("AI");lwItem2->setTextAlignment(Qt:

2021-10-30 08:53:51 623

原创 qt 键盘事件

通常在写键盘事件时,以QPushButton为例:ui->pushbutton->setFocusPolicy(Qt::StrongFocus);protected: void keyPressEvent(QKeyEvent *event) override;void XXX::keyPressEvent(QKeyEvent *event){ if(event->key() == Qt::Key_Return || event->key() == Qt:

2021-10-25 16:45:07 889

原创 QLabel 文字阴影

QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect;effect->setColor(QColor(100,100,100,100));effect->setBlurRadius(2); //模糊半径effect->setOffset(10); //偏移量ui->label->setGraphicsEffect(effect);

2021-04-20 14:10:38 1035

原创 Qt 透明窗口

方法一:setWindowOpacity(0.5);窗体整体透明,部件也跟着一起透明,值为1时完全不透明方法二:如下,需要去掉标题栏,会导致一些正常的功能需要自己实现,且背景完全透明,所以需要重写void paintEvent(QPaintEvent *)setWindowFlag(Qt::FramelessWindowHint); //去掉标题栏setAttribute(Qt::WA_TranslucentBackground); //窗体背景透明void W.

2021-04-20 13:28:25 397

原创 SMTP 协议发送邮件

样式如图简单说明使用 SMTP 协议发送邮件需要通过所在邮箱开启这项协议才可以使用,如上述例子通过QQ 邮箱发给 126 邮箱,需要 QQ 邮箱开启 SMTP 协议,进入 QQ 邮箱-设置-账户-账户安全-POP3/SMTP 服务-点击开启即可。发件人邮箱我使用的是QQ邮箱,由于QQ邮箱在第三方登录需要输入授权码,在这里可以直接用授权码代替密码,QQ邮箱授权码: private: Ui::MainWindow *ui; QLabel *shouLabel; QL.

2021-03-16 13:36:50 1569

原创 DLL 获取网络连接状态

1.Win32 网络连接 dll 文件名叫:wininet.dll,位置在 C:\WINDOWS\system32 目录下,将其拷贝到项目工程下#include <QLibrary>#include <QLabel>#define INTERNET_CONNECTION_MODEM 1 //拨号#define INTERNET_CONNECTION_LAN 2 //局域网#define INTERNET_CONNECTION_PROXY 4 //代理上网#defi.

2021-03-16 13:15:43 505

原创 Qt 简单的视频播放器

1. 简述一个简单的视频播放器,包含暂停、停止、音量、播放时间、拖进等功能,界面未经过美化,纯功能例子2.简单分析2.1.视频播放器的两个主体播放器 QVideoWidget播放对象 QMediaPlayer2.2.播放对象的属性视频时长 duration() //return qint64 毫秒值当前播放的时长 position() //return qint64 毫秒值视频当前音量 volume() //return qint64 毫秒值是否

2021-03-12 16:51:58 4147 2

原创 qt 设置无边框窗口导致任务栏图标点击事件失效

将窗口设置成无边框窗口,用来重写重写窗口样式,一下代码就可实现:this->setWindowFlags(Qt::FramelessWindowHint );但是,这样会导致在点击桌面窗口栏程序图标时,程序界面无法实现正常的最大化和最小化,解决也很简单,如下:this->setWindowFlags(Qt::Window|Qt::FramelessWindowHint |Qt::WindowSystemMenuHint|Qt::WindowMinimizeButtonHint|Q.

2021-02-24 15:59:01 2210 5

原创 QTableView::setSpan: single cell span won‘t be added

在使用QTableWidget的 setSpan(row,column,rowCount,columnCount) 合并单元格时有时会遇到应用程序输出:QTableView::setSpan: single cell span won’t be added这个既不是报错也不是警告,算是一个提示。意思是:setSpan 不能合并单个单元格,也就是说setSpan中,rowCount > 1 || columnCount > 1,必须是2个单元格以上的单元格相合并。...

2020-12-18 16:13:47 2551 2

qcustomplot 去除原有坐标系,添加n个坐标系,且添加的游标可以贯穿所有坐标系

多坐标系;动态添加删除;游标。

2023-11-29

qcustomplot多坐标系

一个qcustomplot对象中多个坐标系,可动态添加,公用X轴,双击修改颜色

2022-07-19

qt 简单的视频播放器

视频 暂停、继续、结束、音量调节、静音、播放时长、播放进度、拖拽进度跳转

2021-03-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除