
C++
文章平均质量分 79
Qt程序员
这个作者很懒,什么都没留下…
展开
-
双非本,想学C++,担心没有学历优势,找不到工作...
双非本,想学C++,担心没有学历优势,找不到工作...原创 2024-12-05 15:21:41 · 496 阅读 · 0 评论 -
c++11新特性总结,你都用过哪些新特性?
c++11新特性总结,你都用过哪些新特性?原创 2024-11-18 19:57:55 · 569 阅读 · 0 评论 -
适合 C++ 新手学习的项目
适合 C++ 新手学习的项目原创 2024-10-28 19:59:40 · 1238 阅读 · 0 评论 -
怎样才算学会了C++基础,一篇文章学习了解(包含Qt内容)
怎样才算学会了C++基础,一篇文章学习了解(包含Qt内容)原创 2024-10-24 16:38:24 · 793 阅读 · 0 评论 -
MySQL 主从复制原理
MySQL 主从复制原理原创 2023-11-03 20:42:23 · 72 阅读 · 0 评论 -
C++特性使用建议
C++特性使用建议。原创 2023-11-03 20:23:32 · 317 阅读 · 0 评论 -
Qt编写自定义控件-代码行数统计
超过160个精美控件,涵盖了各种仪表盘、进度条、进度球、指南针、曲线图、标尺、温度计、导航条、导航栏,flatui、高亮按钮、滑动选择器、农历等。远超qwt集成的控件数量。每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。qwt的控件类环环相扣,高度耦合,想要使用其中一个控件,必须包含所有的代码。原创 2023-09-12 19:57:45 · 357 阅读 · 1 评论 -
QT 5 中元对象系统的改变
Qt 5 的元对象系统作出了一定的改变,既有底层变化,又有 API 的变化。其中有些修改与 Qt 4 不是源代码兼容的。本文将介绍这些改变,以及如何修改现有代码,使其能够使用 Qt 5 进行编译。同时,我们也将阐述下新增加的一些 API,使 QMetaMethod更方便使用。原创 2023-09-06 15:28:20 · 100 阅读 · 0 评论 -
QDIALOG 窗口级别模态
这篇文章内容主要来自 QtQuarterly30 里面的 New Ways of Using QDialog,介绍的是使用QDialog::open()(这个函数是Qt 4.5 引入的),而不是传统的exec()来实现一个窗口级别的模态对话框。所谓模态对话框,就是对话框会阻塞用户与父窗口的交互,直到对话框关闭,在 Mac OS X 中则称为 Sheet。这里牵扯到很多细节问题,值得我们注意。原创 2023-09-05 21:48:00 · 361 阅读 · 0 评论 -
QT 5 中元对象系统的改变
Qt 5 的元对象系统作出了一定的改变,既有底层变化,又有 API 的变化。其中有些修改与 Qt 4 不是源代码兼容的。本文将介绍这些改变,以及如何修改现有代码,使其能够使用 Qt 5 进行编译。同时,我们也将阐述下新增加的一些 API,使 QMetaMethod更方便使用。原创 2023-09-05 21:29:57 · 78 阅读 · 0 评论 -
QT CREATOR 插件开发:添加新的编辑器(二)
下面,我们来开始进行 Qt Creator 的 HTML 编辑器的开发。原创 2023-08-30 21:51:16 · 117 阅读 · 0 评论 -
QT应用编程: 基于Qt设计的跨平台录音机功能
运行环境: Windows10 64位QT通过QAudioInput类读取声卡PCM数据,在封装WAV头,转为WAV格式的文件保存到本地。可以选择指定的声卡录制、播放音频。代码里固定录制10S的声音,有进度条显示录制和播放的进度。在Android、ubuntu、windows测试运行OK。注意:在其他系统运行,要注意代码里定义WAV头的结构体字节对齐方式--必须1字节对齐才行。完整项目代码下载(下载可编译运行,不懂可以私信): https://download.youkuaiyun.com/download/xiaol原创 2023-08-28 21:30:54 · 587 阅读 · 0 评论 -
QT多线程采集摄像头数据处理显示(QVideoProbe+QCamera+QThread)
子线程方式采用moveToThread方式实现,因为需要用到QVideoProbe的槽函数,需要事件机制,使用子类化方式使用子线程不方便,直接用moveToThread方式实现。在子线程里通过QVideoProbe捕获摄像头一帧数据,处理之后(加时间水印),再通过信号/槽机制发送给主线程,在UI界面显示。主要注意的地方: 在windows下有些摄像头不支持YUYV格式输出设置,需要在代码里根据情况稍微修改。链接:https://juejin.cn/post/6985337182122672141。原创 2023-08-28 21:23:26 · 2733 阅读 · 2 评论 -
QT采用QAudioInput、QAudioOutput实现远程语音对讲功能
费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击。费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击。类似于QQ、微信语音电话效果。原创 2023-08-26 20:45:02 · 965 阅读 · 1 评论 -
QT应用编程: 基于FFMPEG设计的精简版视频播放器
基于ffmpeg设计的视频播放器,只解码处理了图像,没有处理音频。写这个例子方便在其他平台移植播放视频。原创 2023-08-23 20:57:58 · 177 阅读 · 0 评论 -
QT应用编程: 开发串口调试助手
win10 64位QT5.12.6MinGW 32串口调试助手,在嵌入式开发中是很常用的。比如: 通过串口打印测试数据、调试串口WIFI(ESP8266、有人WIFI..)、调试GSM模块、GPS模块、字库更新等等。1. 多条发送(调试ESP288、SIM800C、HC05这些类似模块可以提前把条目编辑好,然后导入)2. 单条发送3. 文件发送(可以用来实现字库更新)4. 协议发送(自定义协议与单片机之间交互)5. 物联网模拟控制(学习单片机串口的字符串收发)6. 支持16进制发送。原创 2023-08-23 20:39:01 · 566 阅读 · 0 评论 -
QT应用编程: 开发TCP网络调试助手
win10 64位QT5.12.6MinGW 32TCP网络调试助手,在网络相关开发、嵌入式开发里使用较多,主要用来测试网络传输,调试等等。这个版本设计的比较早,没有加入多线程处理连接上来的客户端,一般的调试场景已经满足。对于基本的QT网络开发入门学习借鉴已经足够了。原创 2023-08-22 16:39:06 · 463 阅读 · 0 评论 -
QT应用编程: 使用SQLITE数据库存放温湿度数据
需要将服务器上传的温度、湿度、经度、纬度、数据存放到数据库,并查询最高温度和最低温度。原创 2023-08-22 16:20:29 · 408 阅读 · 0 评论 -
QWidget绘制透明背景、绘制不规则窗体解决办法
onenet服务器的地址:$sys/{pid}/{device-name}/dp/post/json/accepted 订阅设备数据点上报成功的消息$sys/{pid}/{device-name}/dp/post/json/rejected 订阅设备数据点上报失败的消息$sys/{pid}/{device-name}/dp/post/json/+ 订阅设备数据点上报结果$sys/{pid}/{device-name}/cmd/request/+ 订阅设备所有命令消息。原创 2023-08-21 21:50:45 · 551 阅读 · 0 评论 -
使用QOpenGLWidget(调用GPU)渲染QImage加载的图片
OpenGL是一个用来加速渲染显示2D、3D 矢量图形的编程接口。这个接口底层依赖于硬件GPU,底层硬件接口的驱动都是由GPU厂家提供。openGl也支持跨平台,windows、Linux、MAC 平台都可以使用。QT封装有QOpenGLWidget可以更加方便的调用GPU 来渲染图片。下面例子代码就介绍QOpenGLWidget类的使用说明,并编写一个例子代码,调用GPU加速渲染一张QImage加载的图片。QOpenGLWidget类是一个用于呈现OpenGL图形的小部件。原创 2023-08-21 20:56:07 · 5319 阅读 · 3 评论 -
采用QWebEngineView引擎设计web浏览器
QWebEngineView 是QT5.4版本加入的新浏览器引擎,用于编辑、查看web内容。在windows系统下 QWebEngineView支持MSVC编译器编译、不支持mingw编译。使用QWebEngineView时,需要在工程文件里增加模块的引用,并加上头文件。cpp复制代码QWebEngineView类提供了一个用于查看和编辑web文档的小部件。web视图是Qt WebEngine,它是web浏览模块的主要小部件组件。原创 2023-08-19 17:36:15 · 340 阅读 · 0 评论 -
QChart、QPolarChart
QChart 类继承自 QGraphicsWidget,用于管理图表、图例和轴。1、enum QChart::AnimationOption:此枚举描述图表中启用的动画。2、enum QChart::ChartTheme:此枚举描述图表使用的主题。主题是应用于图表所有视觉元素的 UI 样式相关设置的内置集合,例如颜色、画笔、画刷和曲线字体,以及轴、标题和图例。更改主题将覆盖之前应用于该曲线的所有自定义设置。3、enum QChart::ChartType:此枚举描述图表类型。图表动画的持续时间。原创 2023-08-15 19:54:01 · 153 阅读 · 0 评论 -
2023年C++后端发展方向
随着物联网、人工智能、机器学习等技术的不断发展,对于嵌入式设备的要求也越来越高,需要具备更强大、更复杂、更安全和更稳定的功能。Qt开发方向:C++语言编程基础、Qt基础(控件、布局、对话框、图形、文件操作、事件操作、服务器操作、网络及多线程、应用打包发布等)、数据库(Mysql、SQLite)、OpenCV、C++23种新特性、Quick等等,最后就是项目实战,推荐《腾讯qq聊天客户端软件》、《库存管理系统》、《Word处理软件》、《MP3播放器搜索引擎》等等。原创 2023-07-11 16:25:45 · 974 阅读 · 0 评论 -
QML控件类型:PageIndicator、Dialog、Menu
页面指示器。用于在多个页面的容器中指示当前活动的页面。由呈现页面的委托项目组成。总页数。当前页的索引。一个呈现页的委托。控件是否是交互式的。默认为 false。交互式页面指示器对按下作出反应并自动适当地更改当前索引。页面指示器一般非常小(为了避免分散用户对用户界面实际内容的注意力),可能很难点击,并且可能不容易被用户识别为交互的。因此最好被用作主要的导航控件的补充。本文福利,莬。原创 2023-07-07 20:27:16 · 287 阅读 · 0 评论 -
QML类型:Item、Rectangle
Item 类型是 Qt Quick 中所有可视项的基本类型。Qt Quick 中的所有可视项都继承自 Item。尽管 Item 对象没有视觉外观,但它定义了所有视觉项的通用属性。Item 类型可做为根元素包含视觉项目。原创 2023-07-06 17:16:43 · 872 阅读 · 0 评论 -
QQmlEngine(QML引擎)
添加在 QML 中解析 URL 时要使用的拦截器。这也适用于用于加载脚本文件和 QML 类型的 URL。原创 2023-06-29 21:05:45 · 344 阅读 · 0 评论 -
Qt官方示例:Fridge Magnets Example(冰箱贴)
费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击。一个自定义的 QLabel,根据创建时传入的文本设确定一个图片的尺寸,使用渐变的画刷在图片绘制一个圆角矩形和文本,然后设置标签显示此图片。开始拖放操作后,如果是拖放移到那么冰箱贴就隐藏了,拖动过程中显示的只是 QDrag::pixmap()。内联的非成员函数,这种写法值得学习。原创 2023-06-20 20:09:53 · 126 阅读 · 0 评论 -
Qt 单元测试的用法
本节是关于如何编写一个简单的单元测试类,以及如何执行测试。假设想测试 QString 类的行为。需要包含 QTest 头文件并将测试函数声明为私有槽函数,以便测试框架找到并执行它。QVERIFY() 宏计算作为其参数传递的表达式。测试失败时:测试成功时:、使用 QCOMPARE() 宏测试成功时输出和上面一样。测试失败时会显示更多信息:QTEST_MAIN() 宏扩展为运行所有测试函数的简单 main() 方法。原创 2023-06-19 20:19:09 · 409 阅读 · 0 评论 -
OpenCV--人脸识别入门
本次用的数据集是opencv给出的教程里面的第一个数据集:The AT&T Facedatabase,又称为ORL人脸数据库,40个人,每人10张照片。照片在不同时间、不同光照、不同表情(睁眼闭眼、笑或者不笑)、不同人脸细节(戴眼镜或者不戴眼镜)下采集。所有的图像都在一个黑暗均匀的背景下采集的,正面竖直人脸(有些有轻微旋转)。原创 2023-06-17 20:19:59 · 7989 阅读 · 2 评论 -
QT自定义控件--时钟
一、效果展示。原创 2023-06-16 17:42:57 · 1237 阅读 · 0 评论 -
OPenGL笔记--多边形旋转
Qt是一个跨平台的C++应用程序开发框架,提供了丰富的GUI和应用程序开发工具。Qt的OpenGL模块可以让开发者在Qt应用程序中轻松地使用OpenGL进行硬件加速的图形渲染。Qt的OpenGL模块提供了一组类和函数,用于管理OpenGL上下文、渲染OpenGL图形、处理OpenGL事件等。其中最重要的类是QOpenGLWidget,它是一个Qt小部件,可以在Qt应用程序中嵌入OpenGL场景。原创 2023-06-16 16:54:35 · 833 阅读 · 0 评论 -
OPenGL笔记--纹理滤波和光源
光源位置详解:我们知道OPenGL的坐标系,我们可以将电脑屏幕视为x-y面,z是伸出屏幕的,所以屏幕时z轴的原点;现在我们创建一个立方体,立方体必须在屏幕里我们才是可以看到的,所以立方体的z坐标必须是负数;现在我们要摆一个光源照射立方体的前面,那么这个光源必须得在屏幕外面,它才能照到立方体的前面,所以光源位置的z坐标必须是正数,如上{0.0, 0.0, 2.0(z), 1.0};原创 2023-06-15 17:15:44 · 319 阅读 · 0 评论 -
OPenGL笔记--给立方体贴图(纹理)
经过前面的学习,我们已经知道了立方体怎么创建了,接下来学习怎么给立方体贴图;为了将纹理正确的映射到四边形上,您必须:将纹理的右上角 映射到四边形的右上角;纹理的左上角 映射到四边形的左上角;纹理的右下角 映射到四边形的右下角;纹理的左下角 映射到四边形的左下角;如果映射错误的话,图像显示时可能上下 颠倒,侧向一边或者什么都不是第一个参数是X坐标;0.0 是纹理的左侧、0.5 是纹理的中点、 1.0 是纹理的右侧;原创 2023-06-15 16:58:35 · 1245 阅读 · 0 评论 -
QML--集成JavaScript
JavaScript代码可以被很容易地集成进QML,来提供用户界面(UI)逻辑、必要的控制及其他用途。QML集成JavaScript有两种方式:一种是直接在QML代码中写JavaScript函数,然后调用;另一种是把JavaScript代码写在外部文件中,需要时用import语句导入.qml源文件中使用。原创 2023-06-15 16:43:14 · 421 阅读 · 0 评论 -
QML--元素布局
QML编程中可以使用x、y属性手动布局元素,但这些属性是与元素父对象左上角位置紧密相关的,不容易确定各子元素间的相对位置。为此,QML提供了定位器和锚点来简化元素的布局。原创 2023-06-15 16:30:59 · 182 阅读 · 0 评论 -
QML--事件处理(信号槽)
信号其实就是个方法(函数),所以它的发射实际是通过以信号名为名的方法达成的。实例:界面上放一个字符串、两个代表颜色的小方块,点方块,字符串的颜色就变成小方块的颜色width: 320;height: 30;Loader {Loader {Component定义了一个组件,组件内定义了一个Rectangle对象,定义了信号colorPicked;原创 2023-06-15 16:19:32 · 1082 阅读 · 0 评论 -
QML--可视元素
:以垂直方向的渐变色填充矩形,gradient属性要求一个Gradient对象,该对象需要一个GradientStop的列表。GradientStop对象就是用于这种指定的,它需要两个属性:position和color。styleColor: "blue":style属性设置文本的样式,支持的文本样式有Text.Normal、Text.Outline、Text.Raised和Text.Sunken;原创 2023-06-14 19:50:00 · 129 阅读 · 0 评论 -
QML属性大总结
详解:当不设置这个值的时候(或者两个元素的属性z值都相同时),默认是,后面一个在前面一个的上面(子元素在父元素的上面),所以我们可以通过改变z属性值来设置两个元素的层次,一般来讲,值越大,越处于上层。功能:描述元素所具有的属性,只读属性,也就是说一旦预定义了当前元素的states,则就不允许去设置它了,states属性一般配合state属性使用,参考上例;功能:描述当前元素的父元素,一般来说,当前元素的父元素是按照层级结构来位于上层的元素,当然也可以通过设置parent属性改变当前元素的parent。原创 2023-06-14 18:02:20 · 511 阅读 · 0 评论 -
QML粒子系统
粒子系统用于模拟一些特定的模糊效果,例如:爆炸、烟花、雪花、水流等。使用传统的渲染技术实现粒子效果比较困难,但是使用QML粒子系统能十分方便的实现各种粒子效果,使你的界面更加炫酷、动感。原创 2023-06-14 17:52:18 · 466 阅读 · 0 评论 -
QML绘图系统
画布(Canvas,类似于Widget的QPaintDevice)画师(Context2d,类似于Widget的QPainter)画笔(strokeStyle属性,类似于Widget的QPen)画刷(fillStyle属性,类似于Widget的QBrush)Canvas是Item的派生类,通过设置width和height属性,就可以定一个绘图区域,然后在onPaint()信号处理器内使用Context2D对象来绘图。原创 2023-06-14 17:07:42 · 1014 阅读 · 0 评论