- 博客(489)
- 资源 (28)
- 问答 (2)
- 收藏
- 关注

原创 QT 自定义Http客户端
1.Http客户端功能1.支持get,post请求方式.2.支持连接超时处理.3.支持网络错误,尝试重连.2.源码HttpClient.h//HttpClient.h#ifndef HTTPCLIENT_H#define HTTPCLIENT_H#include <QObject>#include <QNetworkAccessManager>#include <QNetworkReply>#include <QEv.
2020-09-23 10:08:53
2291
2

原创 搭建海思3559A-Qt4.8.7+Openssl开发环境
1.软件版本linux版本:ubuntu 16.04 LTSQt:4.8.7Openssl:1.0.1q2.安装交叉编译器①在ubuntu上解压 tar -zxf aarch64-himix100-linux.tgz②进入解压后的文件夹中,增加执行权限sudo chmod +xaarch64-himix100-linux.install③执行 ./aarch64-himix100-linux.install④执行source /etc/profile, 安装交叉编译..
2020-06-23 15:38:46
3061
1

原创 搭建QT+ffmpeg+Visual Studio开发环境
1.环境介绍本文使用的是版本 Qt5.9.2+VS2017+ffmpeg4.2.1,这里版本均使用32位版本2.Qt版本下载http://download.qt.io/archive/qt/3.下载ffmpeg打开https://ffmpeg.zeranoe.com/builds/,该网站中的FFMPEG分为3个版本:Static,Shared,Dev,都下载下来。...
2019-12-10 20:53:45
1387

原创 音视频开发基础知识
一. 颜色模式1.RGBRGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。①RGB24:RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。②RGB32:RGB32使用32位来表示一个像素,RGB分量各用去8位表示,剩下...
2019-12-09 14:06:34
2482

原创 Qt设置QPushButton文字加图片
方法一: ui->pushButton->setIcon(QPixmap("D:/qtTest/untitled/clear.png")); ui->pushButton->setText("清理");方法二: ui->pushButton->setStyleSheet("qproperty-icon: url(D:/qtT...
2019-09-08 20:19:59
12105
3

原创 Qt设置字符串太长,使用省略号显示
widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QList>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Wid...
2019-09-01 17:51:13
4481

原创 Qt实现QWebSocket客户端,断线重连
WebSocket简介1)、WebSocket是一种在单个TCP连接上进行全双工通信的协议。2)、WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。3)、WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。全双工:通信允许数据在两个方向上同时传输,全双工...
2019-08-27 21:25:27
5943
8
原创 Qt实现自定义消失动画弹出提示框
它创建了一个无边框的窗口,其中包含一个标签用于显示文本。在Qt中,要实现自定义弹出提示框并伴随自动消失动画,可以使用。,我们为标签添加了一个淡出效果,并在动画完成后关闭窗口。在上面,点击使它弹出提示框。以下是测试界面,放了一个。
2024-12-05 16:10:58
381
原创 QT 实现QStackedWidget切换页面右移动画
首先截取当前界面的图片,渲染到一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这个QLabel,不断的改变geometry;当动画结束的时候,隐藏并释放这个QLabel。以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。为了方便查看动画特效,设置了每个界面的背景图片。
2024-12-04 16:53:58
369
原创 QT 实现QStackedWidget切换页面开门动画
首先截取当前界面的图片,将图片一分为二,左边渲染到一个QLabel上,右边的渲染到另一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这两个QLabel,不断的改变geometry;当动画结束的时候,隐藏并释放这两个QLabel。以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。为了方便查看动画特效,设置了每个界面的背景图片。
2024-11-29 17:29:59
626
原创 QT 实现窗口关闭动画
先创建一个closeAnimation动画,然后创建opacityAnimation动画,创建一个QParallelAnimationGroup并行动画组,将两个动画加入动画组,最后执行动画即可。创建了两个动画并行执行,一个是控制窗口尺寸的动画,一个是控制透明度的动画。两种关闭窗口动画效果。
2024-11-27 17:14:07
333
原创 QT 实现组织树状图
在Qt中使用QGraphicsItem和QGraphicsScene实现树状图,你需要创建自定义的QGraphicsItem类来表示树的节点,并管理它们的位置和连接,以下是实现效果图。每个节点类Node,需要绘制矩形框体文字和颜色;每个连线类需要绘制直线,绘制两个Node类之间的连线。首先我们自定义结构体如下:以下是demo演示,可以根据实际情况自定义数据结构。以下是MainWindow的ui界面,里面只有1个QGraphicsView。可以看见,上图所示,我们需要自定义连线类和节点类。
2024-11-27 16:25:37
692
原创 Qt 实现网络数据报文大小端数据的收发
大小端(Endianness)是计算机体系结构的一个术语,它描述了多字节数据在内存中的存储顺序。大端(Big-Endian)在大端模式中,一个字的最高有效字节(MSB,即最左边的那位)存储在最低的内存地址处,而最低有效字节(LSB,即最右边的那位)存储在最高的内存地址处。例如,假设有一个16位的数字 0x1234,其在内存中的存储顺序如下:地址增加方向 -->其中 [12] 是高字节,存储在低地址处;[34] 是低字节,存储在高地址处。小端(Little-Endian)
2024-11-22 16:07:50
520
原创 QT 实现类似抽奖效果的卷轴式数字滚动
控制滚动速度,逐渐减速,最终停留在目标数字上,主要就是绘制当前数字和下一个数字,绘制的位置根据自定义widget的高度来设置。使用定时器或动画框架更新数字的位置,产生滚动效果,在paintEvent中绘制当前显示的数字。这里通过timer的时间间隔来控制滚动帧率,当快要转到时间结束的时候,减小timer的频率。在slotStart中,我实现了生成0-9之间的随机数。提升4个widget,绑定槽,串行执行。自定义NumberRoller类。
2024-11-19 23:55:23
334
原创 QT 实现表格展示第一列为CheckBox(复选框)
需要实现以下几个方法,并且如果需要展示表头,还需要实现headerData和setHeaderData方法,最后还需要重写flags方法来允许复选框被点击。以下是存储数据的数组,可以自定义。// 存储复选框状态//存储数据// 存储列标题Q_OBJECTpublic:private:// 存储复选框状态//存储数据// 存储列标题// 初始化复选框状态// 在原始列数基础上加1,用于复选框列else。
2024-11-19 22:15:07
496
原创 QT 实现绘制汽车仪表盘
分为以下几个部分,首先设置抗锯齿 painter.setRenderHint(QPainter::Antialiasing)。//绘制平面//绘制刻度线//绘制文字//绘制指针1.绘制边框主要绘制渐变色。p.save();QPen pen;2.绘制刻度线绘制了两圈刻度线,有短的和长的。p.save();// 计算矩形的左上角坐标// 计算矩形的宽度和高度。
2024-11-06 23:29:08
337
原创 QT 实现贝塞尔曲线绘制波浪
贝塞尔曲线(Bézier curve),是一种在计算机图形学和动画设计中常用的参数曲线,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)在1960年代提出,用于汽车车身设计。贝塞尔曲线通过数学方法,可以精确地描述曲线的形状,具有简洁、易于计算和可控制性强等特点。一次贝塞尔曲线:实际上是一条直线,由两个控制点定义。二次贝塞尔曲线:由三个控制点定义,曲线是平滑的,并且起点和终点的切线分别指向第二个控制点。三次贝塞尔曲线:由四个控制点定义,是最常用的贝塞尔曲线类型,可以创建更复杂的曲线形状。
2024-10-30 23:34:17
344
原创 QT 实现自定义开机加载动画二
原理:首先根据窗口的宽度,绘制出小球的可能位置,新建一个动态曲线。然后根据曲线的值,找到根据窗口宽度得到的所有值。i < fCount;++i) {//进度 每一帧对应的0-1的值然后绘制出这些值中的小球。++i) {大体跟QT 实现自定义开机加载动画一差不多,不同就是小球运动的轨迹不一样,上一篇是横着动,这个是旋转的。
2024-10-30 22:39:57
436
原创 QT 实现自定义开机加载动画一
原理:首先根据窗口的宽度,绘制出小球的可能位置,新建一个动态曲线。然后根据曲线的值,找到根据窗口宽度得到的所有值。i < fCount;++i) {//进度 每一帧对应的0-1的值然后绘制出这些值中的小球。++i) {最后由一个定时器动态刷新,在paintEvent中显示的小球位置。if (!
2024-10-30 22:32:45
268
原创 QT 实现自定义动态选择指示器
原理:指示器是我们用三条线绘制而成的,随着当前选择项的改变,在我们的绘制图像void paintEvent(QPaintEvent *) override;事件中绘制图形,通过QPropertyAnimation动画,不断的更新我们绘制的图形,创建动画效果,改变线条的位置。Q_OBJECTpublic:TL_Left,/// 根据控件调整自己的位置/// 设置三角形边长的尺寸/// 设置绘制的颜色/// 设置总数量。
2024-10-27 19:48:10
244
原创 QT 实现自定义水波进度条
原理:随着进度的改变,在我们的绘制图像void paintEvent(QPaintEvent *) override;事件中绘制图形。使用QPainter来绘制正弦波,通过定时器,不断的更新我们绘制的图形,动态改变正弦波的参数来创建动画效果。Q_OBJECTpublic:protected:private://画背景//画水波//画文字private://最小值//最大值//当前值//边框宽度//水波高度//水波偏移量//背景颜色//边框颜色。
2024-10-21 22:45:47
530
原创 QT 实现自定义CheckBox
原理:使用Qt的QPropertyAnimation动画类,这里简单来说就是根据自定义的一个数值N,举个例子:随着动画的结束,数值N从0到100,根据这个数值N,在我们的绘制图像void paintEvent(QPaintEvent *) override;事件中绘制图形。首先做一个基类:重写了鼠标进入、离开事件,主要是改变边框的圆角;然后选中的时候,根据动画的进度在paintEvent中来绘制里面矩形的大小。
2024-10-21 22:29:28
361
原创 音乐播放器-2.工具栏实现
需要实现的效果如下图所示:首先,看一下我们的布局情况。这里面大部分都是按钮、标签,这些只需要设置qss样式表加载图片即可。样式表设置如下所示。只有以下两个地方需要动点脑筋。
2024-10-18 16:10:17
320
原创 音乐播放器-1.主体结构介绍
首先要将我们的播放器给做的美观、大气,整体的结构设计是必不可少,以下就讲解一下界面的主体部分。整体ui界面布局如下所示:主体界面分为4部分。①.工具栏,用于显示头像、控制窗口缩放、消息等。②.控制界面的切换,相当于菜单栏吧。③.跟②中的菜单栏联动交互,显示对于的菜单界面。④.控制音乐的播放,播放进度显示,歌词显示等界面。2.1 第①部分这块主要放置一些按钮、标签,用于显示最大化、最小化等按钮,还有文字显示。
2024-10-18 15:51:21
734
原创 QT 实现随机码验证
自定义CaptchaMovableLabel,继承自QLabel类:中间的4个字母,就是CaptchaMovableLabel类来实例化的对象。主要功能如下:1.显示字母;2.实现了鼠标移动事件,使字母可拖动;3.存在定时器,不断改变字母颜色;4.绘制字母时,可旋转一定角度;
2024-10-17 21:30:15
630
原创 QT 实现按钮多样化
原理:使用Qt的QPropertyAnimation动画类,这里简单来说就是切换两个按钮样式。3// 背景尺寸// 背景圆角// 背景颜色// 使用的线条数量// 各线条位置// 默认消失的位置// 各线条颜色i++)根据线条的数量、颜色、背景颜色、线条消失的位置等属性,在paintEvent中进行绘制图形。// 背景位置// 绘制背景// 绘制前景i++)continue;
2024-10-17 20:20:53
971
原创 QT 实现滑动页面切换二
原理:使用Qt的QPropertyAnimation动画类,这里简单来说就是切换两个界面。这个widget里面可以放很多个待切换的界面,**每次切换的时候将当前界面和切换后的界面显示,其他界面都隐藏,然后当前界面移动到主界面之外,下一个界面移动到主界面里面。**当然这两个界面需要一起移动,不然滑动的中间会存在缝隙,就不美观。每个切换界面对应一个按钮。Q_OBJECTpublic:public://数量//当前显示的界面索引。
2024-10-16 21:25:43
390
原创 QT 实现滑动页面切换一
原理:使用Qt的QPropertyAnimation动画类,这里简单来说就是切换两个界面。这个widget里面可以放很多个待切换的界面,每次切换的时候将当前界面和切换后的界面显示,其他界面都隐藏,然后当前界面移动到主界面之外,下一个界面移动到主界面里面。,当然这两个界面需要一起移动,不然滑动的中间会存在缝隙,就不美观。以下是demo展示,原理都一样,只是中间的界面不一样而已,可以自定义。中间定义的滚动CustomWidget类Q_OBJECTpublic:public://数量。
2024-10-16 20:57:51
859
1
原创 音乐播放器-0.专栏介绍
本专栏使用Qt QWidget作为显示界面,你将会学习到以下内容:1.大量ui美化的实例。2.各种复杂ui布局。3.常见显示效果实现。4.大量QSS实例。5.Qt音频播放,音乐歌词文件加载,展示。6.播放器界面换肤。相信学习了本专栏,你将对桌面开发将会有更深入的了解学习,可以打造属于一款自己的音乐播放器以及其他产品。注意:本专栏注重ui界面开发,讲解各个界面效果的实现,跟其存在的产品还是有很大差距。
2024-10-16 15:32:56
616
原创 XLS文件解析库-libxls介绍
XLS文件格式是Microsoft Excel早期版本使用的电子表格文件格式。它是由微软为其桌面应用程序Microsoft Excel设计的一种专有文件格式。XLS:最初在1993年与Excel 4.0一起推出,后来在Excel 5.0至Excel 2003的各个版本中得到了进一步的发展。由于项目需要,需要解析XLS格式的文件,新的开源库有的是不支持解析XLS文件的,主要是支持xlsl的文件。
2024-09-04 20:54:23
677
原创 Qt 配置整个程序的信号-槽连接器
在Qt开发程序中,由于有很多复杂的界面,这些界面之间存在父子关系,又或者是自己定义的界面类,在使用的时候需要发送数据传到另一个界面上,或者发送数据发送给TCP socket等等;如果使用单一的信号-槽方式,就会存在很多复杂的信号-槽来进行关联,到最后弄得自己也不知道哪个信号连接到哪个槽,自己也会搞得一脸懵逼。
2024-09-02 19:21:59
326
原创 Ubuntu20上的Qt程序连接Windows上的mssql服务器
由于xx单位使用的数据库是Windows上的mssql数据库,我们这边根据需求需要对数据库进行访问操作,这里使用的操作系统是Ubuntu20,总结了以下步骤对服务器进行访问。
2024-09-02 18:47:01
556
原创 消息库-ZeroMQ介绍
ZeroMQ (也称为 ØMQ, zmq 或 libzmq) 是一个高性能的异步消息传递库,用于构建分布式或并发应用程序。它提供了一个消息队列的抽象,允许不同的计算机和进程之间进行消息传递,而无需关心底层网络细节。ZeroMQ 不是一个传统意义上的消息队列服务器,而是一个嵌入到应用程序中的库,它提供了多种消息传递模式,如请求-应答、发布-订阅、推-拉等。
2024-05-20 21:29:13
3009
原创 日志库-zlog介绍
zlog是一个可靠、高性能、线程安全、灵活、模型清晰、纯C的日志库。zlog 特点高性能:zlog 设计为尽量减少日志记录对程序性能的影响。多线程安全:在多线程环境下,zlog 可以安全地记录日志而不会产生冲突。动态配置:可以在不重启程序的情况下,通过配置文件或API动态修改日志行为。支持多种日志级别:如DEBUG、INFO、WARN、ERROR等。可定制格式:可以自定义日志的输出格式。支持异步日志:可以将日志写入异步队列,由另一个线程负责写入文件,减少主线程阻塞。
2024-05-18 21:41:41
670
原创 日志库-Glog介绍
glog 是 Google 的一个 C++ 日志库,它提供了丰富的日志功能,包括条件日志、CHECK 宏等,同时支持日志的自动轮转。项目Valueyyyy年mm月dd日时间threadid线程IDfile文件名line行号msg消息glog 是一个功能丰富的日志库,它提供了一系列的宏和函数来处理日志记录。初始化和关闭: google::InitGoogleLogging(const char* argv[]): 初始化 glog日志系统。通常在 main 函数的开始处调用。
2024-05-17 22:51:09
1186
原创 日志库-Spdlog介绍
spdlog 是一个快速的、仅头文件的、C++11日志库,它提供了易于使用的接口和丰富的日志级别控制,同时支持异步日志记录。高性能:spdlog 设计用于高性能日志记录,支持异步日志记录,可以减少日志对应用程序性能的影响。简单易用:spdlog的API设计简洁,易于集成和使用。丰富的日志级别:支持多种日志级别,如TRACE、DEBUG、INFO、WARN、ERROR、CRITICAL等。多种日志输出:支持多种日志输出方式,包括控制台、文件、系统日志等。自定义格式:可以自定义日志输出格式。
2024-05-17 20:16:19
2445
原创 异步I/O库-libuv介绍
libuv是一个跨平台的支持事件驱动的异步I/O的库,使开发者可以以非阻塞的方式执行文件I/O操作、网络通信、子进程管理等。事件循环:libuv有一个基于事件循环的模型,它不断地轮询事件,并在事件发生时调用相应的回调函数。异步I/O:libuv提供了异步文件I/O和网络I/O的接口,使得开发者可以执行I/O操作而不阻塞主线程。线程池:libuv使用线程池来处理一些不能以非阻塞方式执行的I/O操作,如文件系统操作在某些操作系统上。DNS解析:libuv提供了异步DNS解析的接口。
2024-05-15 20:00:57
3043
原创 网络库-POCO介绍
POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,它提供了许多模块,包括网络编程、文件系统访问、线程和并发、数据库访问、XML处理、配置管理、日志记录等功能。Poco库的设计目标是易于使用、高度可定制和可扩展。Foundation:提供基本功能,如线程、时间、内存管理、流、字符串等。XML:提供XML解析和生成功能。Util:提供配置文件处理、命令行参数解析等实用功能。
2024-05-14 20:23:57
1700
原创 网络库-libcurl介绍
libcurl 是一个功能强大的库,支持多种协议,用于数据传输。它广泛应用于实现网络操作,如HTTP、HTTPS、FTP、FTPS、SCP、SFTP等。libcurl 提供了丰富的 API,可以在多种编程语言中使用。libcurl 主要特点支持多种协议:包括 HTTP, HTTPS, FTP, FTPS, SCP, SFTP,等。多平台支持:可在多种操作系统上使用,如 Windows、Linux、Mac OS X 等。线程安全:在多线程程序中使用时,保证数据的安全性。
2024-05-13 22:08:31
1243
原创 网络库-libevent介绍
libevent是一个事件驱动的网络库,主要用于构建可扩展的网络服务器。它提供了跨平台的API,支持多种事件通知机制,如select、poll、epoll、kqueue等。主要组件event: 表示一个具体的事件,包括事件类型、事件回调等。event_base: 用于管理所有的事件,负责事件的添加、删除和分发。buffer: 提供缓冲区操作,用于网络数据的读写。evbuffer: 提供增强的缓冲区操作,支持链式缓冲区。
2024-05-13 20:52:23
1396
discjvm.zip
2024-05-10
crc-lib-c.zip
2024-05-10
epoll-sever.zip
2024-05-10
ExPeriphDriver.zip
2024-05-10
Qt+ffmpeg+opengl实现一款精美的播放器,Qt+ffmpeg+opengl实现一款精美的播放器
2024-04-29
vlc+Qt实现的一款精美视频播放器源码,vlc+Qt实现的一款精美视频播放器源码
2024-04-29
VLC+Qt demoVLC+Qt demo
2024-04-24
Qt+opengl实现多种滤镜效果
2024-03-05
Qt+opengl实现分屏效果
2024-03-05
Qt+OpenGL 实现色温、色调、亮度、对比度、饱和度、高光
2024-03-04
Qt实现鼠标擦拭显示图片
2024-03-04
Qt+openglEs2加载3D模型,平移、旋转、拾取模型
2024-01-16
Qt+opengl加载各种类型的3D模型,.glb .obj 等;Qt+opengl加载各种类型的3D模型,.glb .obj
2024-01-15
Qt实现自定义侧边栏滑动
2024-05-30
playfj-master.zip
2024-05-10
C_ChineseChess-master.zip
2024-05-10
zdcclient.zip
2024-05-10
SMX_Test.zip
2024-05-10
Tetris.zip
2024-05-10
Sherk.zip
2024-05-10
Spider.zip
2024-05-10
Study_Garbage_Collector.zip
2024-05-10
http_server.zip
2024-05-10
Electronic-clock.zip
2024-05-10
socket_chatroom.zip
2024-05-10
WeatherClient.zip
2024-05-10
socks5-server-c.zip
2024-05-10
RingBuffer.zip
2024-05-10
OpenNNA2.0.zip
2024-05-10
kv-store-main.zip
2024-05-10
Huffman-compress.zip
2024-05-10
go-cqhttp-C.zip
2024-05-10
conf-c.zip
2024-05-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人