- 博客(44)
- 收藏
- 关注
原创 Qt-FFmpeg案例(0基础,包含环境配置)
项目实现了基本的视频文件解码、播放控制功能,具有跨平台特性,支持多种常见视频格式。下面我将以功能实现为分界,介绍这个项目,比较适合Qt音视频方向的初学者。(有问题可以私信我,可以带敲和视频讲解,欢迎交流学习)SwsContext 是 FFmpeg 中图像缩放和格式转换的上下文,负责在不同像素格式和图像尺寸之间进行转换。就一个label(video)和两个按钮(openfile,play)decodeFrame函数中添加了调用解码音频流的逻辑。openFile函数中添加了获取音频流的逻辑。
2025-11-21 15:20:58
1206
原创 Qt-配置MySQL
在Qt6中连接MySQL数据库,由于Qt6默认不再提供MySQL驱动,需要一些额外的配置,一般就两种方式一种是用QMYSQL和 QODBC,我更偏向于使用QMYSQL,所以这里介绍这个。
2025-11-13 11:07:12
437
原创 Qt Quick Application&&Qt Quick Application (compat)
现代、推荐的模板,使用最新的 Qt Quick(通常是 Qt Quick 2)。旧版、兼容性模板,使用已过时的 Qt Quick 1。特性核心版本Qt Quick 2(现代)Qt Quick 1(过时)渲染架构(硬件加速)(主要依赖 CPU)UI 控件(轻量、高性能)(笨重、低性能)性能高,适合流畅动画较低,复杂界面易卡顿推荐度强烈推荐用于所有新项目不推荐,仅用于维护旧项目状态积极开发和维护已过时,不再更新。
2025-11-04 16:02:49
876
原创 Qt-QtCharts
QtCharts 是 Qt 框架中的一个模块,提供了一套用于数据可视化的图表组件。它允许开发者轻松创建各种类型的交互式图表,集成到 Qt 应用程序中。
2025-11-04 14:44:40
623
原创 Qt-多线程编程:互斥量 信号量
⭐ 对象移动性改变对象线程亲和性⭐ 自动跨线程:信号槽自动处理线程间通信⭐ 资源管理:通过信号槽自动清理资源⭐ 灵活复用:同一对象可在不同线程间移动⭐ 事件驱动:通过信号槽控制执行,非直接调用。
2025-10-25 15:15:29
1046
原创 Qt-UDP
UDP(User Datagram Protocol)在计算机网络中与TCP同为传输层协议,但设计哲学截然不同。:发送数据前不需要建立连接,减少了开销和发送数据之前的时延。:不保证数据包能够送达目的地,也不保证数据包的顺序性。:对于应用层交下来的报文,UDP既不合并,也不拆分,而是保留这些报文的边界。:网络出现拥塞时不会降低源主机的发送速率,适合实时应用。:支持一对一、一对多、多对一和多对多的交互通信。
2025-10-23 15:38:54
939
原创 Qt-TCP
TCP(Transmission Control Protocol)是一种的传输层通信协议。可靠传输:通过确认机制、重传机制保证数据可靠到达流量控制:通过滑动窗口机制防止发送方淹没接收方拥塞控制:通过慢启动、拥塞避免等算法避免网络拥塞顺序传输:保证数据按发送顺序到达全双工通信:双方可以同时发送和接收数据。
2025-10-21 10:52:36
789
原创 Qt-配置文件(INI/JSON/XML)
这里仅介绍三者作为配置文件时的用法,他们还有其他很多功能。三种配置格式对比💡 选择建议:简单配置、用户设置、快速原型:Web应用、前后端配置、复杂数据结构:企业系统、文档配置、需要严格验证的场景。
2025-10-16 15:17:38
690
原创 Qt-QDir
不显示 "." 和 ".." 条目。:列出所有条目(目录、文件、驱动器)。可以增加过滤器遍历目录,增加可读性。注意这个是在当前工作目录中创建的;
2025-10-15 11:36:41
219
原创 Qt-创建画图工具
在 Qt 中,双缓冲机制主要用于解决绘图时的(尤其是频繁刷新或复杂绘图场景)。其核心原理是:先在(而非直接在屏幕上)完成所有绘制操作,再将缓冲区的内容一次性复制到屏幕上,从而避免中间过程的视觉闪烁。
2025-10-14 14:13:52
238
原创 Qt-QSplitter &&QDockWidget
代码: 结果:方式:允许用户拖动停靠窗口到其他停靠区域(如从右侧拖到左侧、顶部或底部),或在同一区域内调整位置(例如在右侧区域内上下移动)。如果不设置此特性,窗口会被固定在初始停靠区域,无法拖动。允许用户关闭停靠窗口(点击窗口标题栏的关闭按钮 “×”)。关闭后窗口会隐藏,通常可通过主窗口菜单(如 “视图” 菜单)重新显示。如果不设置此特性,标题栏会没有关闭按钮,窗口无法关闭。代码:结果:
2025-09-29 16:33:46
292
原创 Qt-布局
特点:控件按行和列的网格结构排列,适合需要精确控制行列位置的场景(如表格、复杂表单)。核心用法:通过addWidget(控件, 行索引, 列索引)。
2025-09-29 11:46:54
205
原创 Qt-Input Widgets
这些是,作用是让用户与程序进行数据交互(输入、选择、调节等)大致可以分为5大类:文本输入类、下拉选择类、数值调节类、时间日期类、特殊交互类;下面我介绍一下常用的空间。
2025-09-27 16:05:39
350
原创 Qt-ltem Views (Model-Based)
Item Views (Model-Based)” 是 Qt 中基于。这里解释解释一下QListView。
2025-09-23 16:53:19
471
原创 Qt-Containers
Qt提供了很多容器(Container)如图:这里我们只介绍最常用的几个:Group Box、Scroll Area、Tab widget、Frame、Dock widget;已经足够满足我们日常开发需求了。
2025-09-23 10:18:40
218
原创 Qt-Button
定义:.h文件中private: QPushButton *but1;实现.cpp文件:结果:1.顶部菜单栏()代码:效果:2.上下文菜单(右键菜单)代码: 结果:3. 弹出式菜单(按钮 / 事件触发)代码:结果:代码:结果:代码:(这个是通用的代码框架上面演示菜单式用的是系统的东西).h声明 ;.cpp实现;槽函数实现逻辑代码:结果:代码: 结果:代码:结果:代码:结果:代码: 结果:
2025-09-22 17:04:35
396
原创 QVariant
QVariant 是 Qt 框架中一个非常重要且强大的类,它充当了一个通用容器,可以存储和管理多种不同类型的数据。QVariant 的强大之处在于它的灵活性和通用性,使得开发者可以编写更加通用和灵活的代码。QVariant 它提供了一种类型擦除的机制,让你能用统一的接口处理各种自定义数据类型。这在需要处理多种不确定类型数据的场景下非常有用。
2025-09-19 16:18:54
177
原创 Qt常用容器介绍
Qt有为我们提供了很多便捷的容器,如何选择称为开发的一大问题。其实,日常开发map/hash/vector就足够了,下面就以上三种容器进行介绍。
2025-09-17 17:13:33
425
原创 Qt QString常用操作
本文介绍了Qt中常用的字符串操作方法:1. 字符串追加使用append();2. 格式化字符串在Qt6中使用arg()替代已移除的sprintf();3. 子串查询包括startsWith()、endsWith()、contains()、indexOf()和lastIndexOf();4. 字符串比较有compare()和区域感知的QCollator类;5. 类型转换包括toInt()、toDouble()等,并介绍了错误处理和批量转换方法。这些操作都支持大小写敏感选项,为字符串处理提供了完整解决方案。
2025-09-17 12:08:54
1188
原创 Qt 中这三个核心窗口类的区别与选择
QWidget、QDialog、QMainWindow三者是Qt GUI 应用程序的基石,但各自扮演着不同的角色,用于不同目的的窗口。
2025-09-16 15:27:36
598
原创 QT三种构建系统(qmake, CMake, QBS)的特点与选择
在新建一个QT项目时,会提供一个构建系统的选项,本文章主要介绍三者的特点与选择。
2025-09-16 14:56:53
627
原创 ROS基础
创建子目录:catkin_create_pkg 工作目录名 roscpp rospy std_msgs geometry_msgs turtlesim。cd到子目录:cd ~/catkin_ws/src/test。编辑C++代码: gedit src/test.cpp(cd到工作目录:cd ~/catkin_ws/src。下分工协作,关系可从「依赖、通信、功能」三个维度。回到顶级目录:cd ~/catkin_ws。四个窗口(及关联的小海龟 GUI)在。编译:catkin_make。
2025-09-11 17:21:59
222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1