神威难藏泪~
码龄3年
关注
提问 私信
  • 博客:41,020
    社区:2
    动态:253
    41,275
    总访问量
  • 29
    原创
  • 116,302
    排名
  • 45
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:努力学习现代C++和QtWidget界面编程

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2021-08-15
博客简介:

Thinking777的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    562
    当月
    4
个人成就
  • 获得87次点赞
  • 内容获得30次评论
  • 获得330次收藏
  • 代码片获得1,550次分享
创作历程
  • 1篇
    2024年
  • 28篇
    2023年
成就勋章
TA的专栏
  • Opencv
    1篇
  • 现代C++
    11篇
  • 现代C++基础
    10篇
  • C++项目
    1篇
  • QtWidget的学习之路
    18篇
  • Qt开发
    15篇
  • QtWidget绘图
    3篇
  • QtUI组件库
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

QtWidget使用Fluent组件库

该组件库的下载地址:[fluent ui组件库](https://github.com/Liniyous/ElaWidgetTools)。下载后解压,使用Qt Creator打开,注意必须是Qt6或者Qt5.15以后的版本
原创
发布博客 2024.06.15 ·
1562 阅读 ·
5 点赞 ·
0 评论 ·
19 收藏

Qt5+Opencv插件式开发

插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用原纯净系统提供的函数库或者数据。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。在开发机器视觉项目通常使用QtWidget作为GUI框架,使用Opencv或者Halcon作为视觉算法框架。
原创
发布博客 2023.10.06 ·
435 阅读 ·
4 点赞 ·
0 评论 ·
2 收藏

QWidget实现开关按钮

首先是使用Q_PROPERTY将开关按钮的属性注册到Qt的元对象系统重,方便后续将开关控件集成到QtDesigner设计师界面中:如下是开关控件的属性:在绘制时,首先将上面属性中的颜色初始化://设置选中和未被选的画笔颜色elseelse//绘制外部大圆//绘制内圆绘制效果如下://鼠标点击(左键点击)else//鼠标松开checked =!checked;//改变状态//状态改变后,更改动画效果else//状态改变函数。
原创
发布博客 2023.10.04 ·
1036 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Qt实现TCP网络通信

在标准C++中没有提供专门用于套接字通信的类,所以只能使用操作系统提供的基于C语言的API函数,基于这些C的API函数我们也可以封装自己的C++类。或者我们可以使用Qt框架,它提供了用于套接字通信的类(TCP、UDP)这样我们就可以直接调用相关API即可。QTcpServer:服务器类,用于监听客户端连接以及和客户端建立连接。QTcpSocket:通信套接字类,客户端与服务器都需要使用这个类。最后要使用这两个类,我们需要在Qt的.pro文件中添加network(网络模块)。
原创
发布博客 2023.10.01 ·
1725 阅读 ·
1 点赞 ·
0 评论 ·
14 收藏

thread的使用

在上面的示例程序中有一个 bug,在主线程中依次创建出两个子线程,打印两个子线程的线程 ID,最后主线程执行完毕就退出了(主线程就是执行 main () 函数的那个线程)。如上我们在主线程中执行interact()这个交互函数,子线程执行文件下载的函数,当主线程执行完成后,不会立马退出程序和回收资源,程序会陷入阻塞,等待下载文件的子线程完成,才会退出程序。但是子线程对象中的任务函数会继续执行,当任务执行完毕之后join()会清理当前子线程的相关资源然后返回,同时,调用该函数的线程解除阻塞继续向下执行。
原创
发布博客 2023.09.28 ·
163 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

chrono时间库

可以使用std::this_thread::sleep_for代替Unix操作系统专有的usleep。除了接受一个时间段sleep_for,还有接受一个时间点的sleep_until,表示让当前线程休眠到某个时间点。利用CPP强类型的特点,明确区分时间点和时间段,明确区分不同的时间单位。
原创
发布博客 2023.09.27 ·
219 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Qt暗黑风格无边框可拉伸窗体

在使用Qt开发软件时,通常会通过布局以及Qss美化界面,但窗体自带的标题栏不符合软件开发的需求,所以必须去掉Qt自带的标题栏,但去掉后就会失去窗体的之前的属性,比如自由拉伸以及可以拖拽标题栏等。暗黑无边框窗体。
原创
发布博客 2023.06.19 ·
585 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

QSS美化控件教程(一)

在使用Qt开发界面程序时,常用控件的美化是一件繁琐的事情,收藏一些基本控件的美化样式,可以在项目开发时节省大量时间,本篇文章由此而出,收集常用的控件美化样式。以下qss代码是直接在Qt Designer设计界面中样式表中添加或者使用QFile读取qss代码进行修改控件样式。
原创
发布博客 2023.04.25 ·
1960 阅读 ·
7 点赞 ·
1 评论 ·
36 收藏

QCustomPlot的使用教程(二)

上一节中简单介绍了如何使用QCustomPlot绘制一条简单的曲线,下面将介绍如何通过QCustomPlot绘制多条曲线。
原创
发布博客 2023.04.22 ·
653 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

QCustomPlot的使用教程(一)

QCustomPlot是Qt的一个小型第三方图表库,支持静态/动态曲线、柱状图、蜡烛图、频谱图等。使用方便,仅需在项目中加入头文件qcustomplot.h和qcustomplot.cpp源文件即可,或者把它当做一个库来添加到项目当中,该绘图库专注于制作美观、出版物质量高的2D绘图、图形和图表,并为实时可视化应用程序提供高性能。
原创
发布博客 2023.04.14 ·
1630 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

Qt实战-通用软件界面

该项目是通过Qt Desinger设计师进行ui界面设计,然后通过Qt自带的属性动画来实现侧边栏的拉伸与收缩,下面将介绍界面如何设计。
原创
发布博客 2023.03.22 ·
1104 阅读 ·
4 点赞 ·
2 评论 ·
22 收藏

Qt实战-程序启动动画

很多的商用软件在启动之前都会有一段启动动画,当启动动画消失时,软件的主界面也就会呈现。程序的启动动画可以帮助我们了解到软件的一些相关信息,下面将介绍一个我自己设计的比较美观的程序启动动画。
原创
发布博客 2023.03.17 ·
810 阅读 ·
3 点赞 ·
0 评论 ·
16 收藏

Qt MVC之自定义代理

在Qt的MVC(Model-View-Controller)架构中,代理(Delegate)扮演着很重要的角色。代理用于控制Model在View中的显示方式,并负责处理用户与View的交互事件。在一些特殊的情况下,Qt提供了一些内置代理(例如QStyledItemDelegate、QItemDelegate等)用于控制View的显示方式。但是有时候,我们需要更加灵活地控制View的显示方式,这时就需要自定义代理。自定义代理需要继承。
原创
发布博客 2023.03.16 ·
426 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Qt MVC之自定义Model

在Qt中,MVC(Model-View-Controller)模式是常用的模式之一,用于将应用程序中的数据(Model)与用户界面(View)分离开来。自定义模型允许开发者使用自己的数据结构作为模型,并将其与Qt的视图部件结合使用。自定义模型需要实现Qt中的抽象模型类(QAbstractItemModel)中的纯虚函数。其中,最基本的函数包括rowCount()、columnCount()、data()和index()函数。
原创
发布博客 2023.03.15 ·
696 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

Qt MVC结构之Model模型

MVC 就是Model-View-Control模式的简称,包括模型层(Model), 视图层(View), 控制层(Controller)。Model主要负责管理数据,View主要用来显示数据,Controller主要用来操作数据,控制View联动。Qt也采用了这个模式,模型层用Model,视图层用View,控制层改名叫了代理Delegate
原创
发布博客 2023.03.14 ·
438 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

QGraphicsView进阶篇

QGraphicsView 通过 QGraphicsView::setMatrix() 支持和 QPainter 一样的仿射变换,通过对一个视图应用变换,你可以很容易地支持普通的导航特性如缩放与旋转。
原创
发布博客 2023.03.10 ·
312 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

QGraphicsView初级篇

QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,**QGraphicsView框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能**。
原创
发布博客 2023.03.08 ·
453 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

QtWidget绘制电池控件

使用QPainter来进行绘制自定义的控件,然后通过QTimer来实现电池控件的电量变化效果,效果图如下:
原创
发布博客 2023.01.26 ·
956 阅读 ·
4 点赞 ·
1 评论 ·
12 收藏

QPainter的使用

Qt的绘图系统允许使用相同的API在屏幕和其他打印设备上进行绘制,整个绘图系统基于QPainter、QPaintDevice和QPaintEngine三个类。**QPainter用来执行绘制操作,QPaintDevice是一个抽象的二维空间,这个抽象的二维空间允许QPainter在上面进行绘制,也就是QPainter的工作空间。QPaintEngine为QPainter提供了在不同设备上进行绘制的接口**。QPaintEngine类应用于QPainter和QPaintDevice之间,通常对开发
原创
发布博客 2023.01.25 ·
2608 阅读 ·
4 点赞 ·
0 评论 ·
17 收藏

C++Logger日志库的实现

该项目是基于C++实现的简单日志库系统,代码方面大约200多行,比较简单,封装的接口很容易看懂,使用起来也十分方便,通过定义的宏来实现打印输出到日志文件中。
原创
发布博客 2023.01.19 ·
3712 阅读 ·
7 点赞 ·
4 评论 ·
42 收藏
加载更多