随笔分类 -  Qt / qt-advanced

摘要:使用 Qt + Inno Setup 打包桌面应用 添加 Qt 应用图标(.ico) Windows 桌面应用默认是没有图标的,为了提升可识别性和专业性,我们通常会给应用添加一个 .ico 图标文件。 制作 .ico 图标 如果已经有 .png、.jpg 或 .webp 格式图像,可以使用以下方式生 阅读全文
posted @ 2025-08-10 12:55 _Sylvan 阅读(234) 评论(0) 推荐(0)
摘要:用 QStyledItemDelegate 自定义 QListView Item 外观 Qt 提供的 QListView 默认只支持文本/图标列表,而现实中我们经常需要显示更复杂的内容,比如一行里显示多个“基因标签”、“操作按钮”或其他控件。 技术核心: 使用 QAbstractListModel 阅读全文
posted @ 2025-08-10 12:55 _Sylvan 阅读(220) 评论(0) 推荐(0)
摘要:替代 Qt6 废弃的 QMediaPlaylist 废弃说明:Qt 6 中移除了 QMediaPlaylist,QMediaPlayer 也不再内置播放列表支持。 Qt6 移除了官方 QMediaPlaylist,需要自己实现一个简单的播放列表管理类,负责管理媒体文件列表、当前索引、循环模式等。然后 阅读全文
posted @ 2025-07-20 18:41 _Sylvan 阅读(411) 评论(0) 推荐(0)
摘要:QTimer QTimer 是 Qt 框架中提供的一个用于事件驱动定时操作的类,属于 QObject 派生类。它常用于定时更新 UI、实现延时处理、周期性任务执行等功能。 基本用法 周期性定时器(循环触发) QTimer *timer = new QTimer(this); connect(time 阅读全文
posted @ 2025-07-20 18:40 _Sylvan 阅读(239) 评论(0) 推荐(0)
摘要:Qt 事件系统 Qt 的事件系统是一个事件驱动架构,它让程序能够响应用户操作(鼠标、键盘等)、系统消息(窗口调整、定时器)、以及自定义事件。所有事件都被封装为 QEvent 对象,通过事件循环分发给对应的 QObject(尤其是 QWidget)处理。 事件系统的核心类和概念 类 / 概念 作用简介 阅读全文
posted @ 2025-07-20 18:40 _Sylvan 阅读(96) 评论(0) 推荐(0)
摘要:Qt 的界面绘制机制 Qt 界面绘制的核心组成 绘制相关事件与函数 事件 / 函数 作用 特点/说明 resizeEvent() 控件尺寸变化时触发 可以用于更新缓存或计算布局 update() 异步请求绘制,标记脏区域 推荐使用,效率高,自动合并多次请求 repaint() 同步立即绘制(阻塞) 阅读全文
posted @ 2025-06-26 16:49 _Sylvan 阅读(163) 评论(0) 推荐(0)
摘要:QUiLoader 动态加载 ui 文件 在 Qt 中,QUiLoader 是一个用于在运行时动态加载 .ui 文件的类,属于模块 QtUiTools。相比于常规的 uic 工具将 .ui 编译为 .h/.cpp,QUiLoader 提供了更灵活的方式,例如用于插件化、换肤、动态模块加载等场景。 什 阅读全文
posted @ 2025-06-25 12:55 _Sylvan 阅读(346) 评论(0) 推荐(0)
摘要:Qt多线程简介 Qt 多线程编程是 Qt 框架中非常重要的一部分,适用于需要在后台处理耗时任务而不阻塞主线程(UI线程)的应用场景。 Qt 多线程的几种方式 方法 类名 场景 描述 方式一 QThread 子类化 学习演示 继承 QThread 并重写 run() 方法,手动启动线程 方式二 QOb 阅读全文
posted @ 2025-06-25 12:49 _Sylvan 阅读(112) 评论(0) 推荐(0)
摘要:Qt UI构建流程 Qt 的 UI 构建流程可以分为两种方式: 使用 Qt Designer(.ui 文件)+ 自动生成代码 使用 C++ 代码手动构建 UI(纯代码方式) 使用 Qt Designer 构建 UI(推荐方式) Qt Designer 是什么?能做什么? Qt Designer 是 阅读全文
posted @ 2025-06-25 12:49 _Sylvan 阅读(618) 评论(0) 推荐(0)
摘要:Qt_ui_headerlabel被覆盖问题总结 ProTreeWidget 类定义与实现(自定义 QTreeWidget) protreewidget.h #ifndef PROTREEWIDGET_H #define PROTREEWIDGET_H #include <QTreeWidget> 阅读全文
posted @ 2025-06-25 12:47 _Sylvan 阅读(41) 评论(0) 推荐(0)
摘要:通用对话框:QMessageBox、QWizard QMessageBox QMessageBox 是 Qt 框架中用于显示标准对话框(提示信息、警告、错误、询问等)的类,属于 Qt Widgets 模块。它是一个简单但强大的 UI 元素,常用于向用户展示信息或要求用户做出选择。 基本用法 QMes 阅读全文
posted @ 2025-06-14 18:02 _Sylvan 阅读(225) 评论(0) 推荐(0)
摘要:通用对话框:QErrorMessage、QFileDialog、QProgressDialog QErrorMessage QErrorMessage 是 Qt 提供的一个专用对话框类,用于显示错误消息(通常是运行时错误),并带有“不再显示此消息”的功能。这对于向用户提示非致命性错误(如输入错误、文 阅读全文
posted @ 2025-06-14 17:35 _Sylvan 阅读(151) 评论(0) 推荐(0)
摘要:通用对话框:QColorDialog、QFontDialog、QInputDialog QColorDialog QColorDialog 是 Qt 提供的标准颜色选择对话框类,允许用户通过图形界面选择颜色。在图像编辑、文本颜色设置、界面个性化等场景中广泛使用。 使用方式 静态函数(最常用) QCo 阅读全文
posted @ 2025-06-14 17:09 _Sylvan 阅读(212) 评论(0) 推荐(0)
摘要:QDialog 多窗口使用 QDialog QDialog 是 Qt 框架中用于创建对话框窗口(Dialog)的类,是 GUI 应用开发中非常常用的组件之一。它继承自 QWidget,意味着它本质上是一个窗口部件,但被专门设计用来创建“模态”或“非模态”的对话框。 模态 vs 非模态 模态对话框(M 阅读全文
posted @ 2025-06-14 13:52 _Sylvan 阅读(132) 评论(0) 推荐(0)
摘要:QWidget 多窗口使用 在 Qt 中,QWidget 是所有界面组件的基类,可以作为一个子组件嵌入到其他组件中,也可以作为独立窗口使用。当 QWidget 不设置父窗口(即 parent == nullptr),它就会成为一个顶级窗口,也就是说它会拥有自己的窗口句柄和标题栏。 QWidget 作 阅读全文
posted @ 2025-06-14 11:09 _Sylvan 阅读(170) 评论(0) 推荐(0)
摘要:Qt 堆栈控件和标签页控件 Stacked Widget QStackedWidget 是 Qt 提供的一个用于管理多个“堆叠”子窗口的控件,它能在多个子窗口间切换,但同一时刻只显示一个。通常用于实现多页面界面、向导窗口、或者根据用户操作动态切换视图的场景。 主要特点 堆叠多个 QWidget:将多 阅读全文
posted @ 2025-06-13 20:58 _Sylvan 阅读(217) 评论(0) 推荐(0)
摘要:Qt 滚动区域和工具箱 Scroll Area 在 Qt 中,QScrollArea 是一个非常常用的部件(widget),它用于在有限的可视区域内显示较大的内容,并自动提供滚动条以便用户可以查看超出可视范围的部分。它常用于图像浏览器、设置页面、表单或任何可能内容溢出的情况。 基本概念 QScrol 阅读全文
posted @ 2025-06-13 19:02 _Sylvan 阅读(245) 评论(0) 推荐(0)
摘要:Qt 简单控件容器 Widget 容器 在 Qt 中,QWidget 不仅可以作为控件本身(例如标签、按钮),也可以作为 其他控件的容器(容纳子控件),实现界面的布局组织和父子关系管理。 容器功能核心概念 父子关系 QWidget 可以作为父控件,其他 QWidget(如按钮、标签)可以作为其子控件 阅读全文
posted @ 2025-06-13 17:22 _Sylvan 阅读(117) 评论(0) 推荐(0)
摘要:Qt 树形控件 QTreeWidget QTreeWidget 是 Qt 提供的一个用于显示层级结构数据的控件,类似文件资源管理器中的文件夹树。它继承自 QTreeView,但使用起来更简单,适合用于结构不太复杂的场景。 基本特性 支持多层级树状结构 每个节点是 QTreeWidgetItem 每列 阅读全文
posted @ 2025-06-13 15:02 _Sylvan 阅读(215) 评论(0) 推荐(0)
摘要:Qt 表格控件 QTableWidget QTableWidget 是 Qt 框架中一个非常常用的控件,属于 Qt Widgets 模块,用于在 GUI 中以表格形式显示和编辑数据。它是 QTableView 的一个子类,预置了一个使用 QTableWidgetItem 的模型,适合快速开发带表格的 阅读全文
posted @ 2025-06-13 10:11 _Sylvan 阅读(354) 评论(0) 推荐(0)