Qt深入研究
文章平均质量分 92
charlie114514191
这个作者很懒,什么都没留下…
展开
-
QTreeView与QFileSystemModel
这个类提供对本地文件系统的访问,提供重命名、删除文件和目录以及创建新目录的功能。在最简单的情况下,它可以与合适的显示控件一起使用,作为浏览器或过滤器的一部分。可以给视图提供有关其处理的数据的提示,以提高在显示大量项目时的性能。实现了来自模型的项目的树形表示。默认情况下,树视图中的所有列都是可移动的,除了第一列。提供的标准接口进行访问,但它还提供了一些特定于目录模型的便利函数。类提供,但使用了 Qt 的模型/视图架构提供的更灵活的方法。函数提供有关模型中项目相关的底层文件和目录的信息。原创 2024-11-03 11:23:44 · 370 阅读 · 0 评论 -
Qt中的Model与View5: QStyledItemDelegate
当在 Qt 项目视图中显示模型数据时,例如QTableView,每个项目由代理绘制。此外,当项目被编辑时,提供一个编辑器小部件,该小部件在编辑时显示在项目视图上。是所有 Qt 项目视图的默认代理,并在创建时自动安装。类是模型/视图框架的一部分,允许独立于模型和视图开发项目的显示和编辑。项目数据被分配给;每个项目可以为每个角色存储一个QVariant。实现了对用户期望的最常见数据类型的显示和编辑,包括布尔值、整数和字符串。数据将根据其在模型中的角色以不同的方式绘制。下表描述了角色及其可处理的数据类型。原创 2024-11-03 11:16:09 · 201 阅读 · 0 评论 -
Qt中的Model与View 3:从样例出发理解QStringListModel和QListView
这里,就是一经典的例子你可以看到,我们的环境变量是一个经典的List列表,其中承载的就是我们的字符串。原创 2024-11-03 09:48:18 · 315 阅读 · 0 评论 -
Qt中的Model与View 2
所有Model的爹!规定了我们的Model的接口规范是什么,以便能够与模型/视图架构中的其他组件进行互操作。我们需要从设计的层次来观察这个Model是如何的!如果需要一个与项目视图(例如 QML 的列表视图元素或 C++ 小部件 QListView 或 QTableView)一起使用的模型,我们应该考虑子类化 QAbstractListModel 或 QAbstractTableModel 而不是此类。底层数据模型以表格层次结构的形式向视图和委托公开。如果我们不使用层次结构,则模型是一个简单的行和列表。原创 2024-11-03 08:45:23 · 685 阅读 · 0 评论 -
Qt中的Model与View(Qt官网翻译版)
Qt Model/View的翻译原创 2024-11-03 08:16:52 · 426 阅读 · 0 评论 -
Qt 一些常见的部件类
一些超级常见的控件说明(可能不是很全,可以在评论留言我补充)原创 2024-11-01 20:54:59 · 815 阅读 · 0 评论 -
QMainWindow, QDialog, QWidget特辑
由于QWidget是的子类,子类可以用于显示通过一系列绘制操作与QPainter类的实例组成的自定义内容。这种方法与图形视图框架使用的画布风格方法形成对比,在这种方法中,应用程序将项目添加到场景中,而框架本身进行渲染。每个Widget从其函数内部执行所有绘制操作。每当Widget需要重绘时(无论是由于某些外部更改,还是由应用程序请求),该函数都会被调用。模拟时钟示例展示了一个简单Widget如何处理绘制事件。原创 2024-11-01 20:17:16 · 593 阅读 · 0 评论 -
QT中的定时器与计时器
笔者写Qt的时候经常遇到需要定时完成任务的情况。举个例子:我写串口通信程序的时候需要定时向下位机发送数据。或者是定时任务周期性出发(更新时间等)原创 2024-11-01 19:38:28 · 767 阅读 · 0 评论 -
日期类数据和控件管理
严肃提示:笔者认为这里的控件没有难点,本篇文章实际上是GPT辅助的代码整理和表格使用,笔者建议如果不是速览存在的API,笔者建议您不要浪费时间阅读本篇文章,后续笔者使用到了会再次重写本篇文章!原创 2024-11-01 12:39:57 · 876 阅读 · 0 评论 -
聊一聊Qt中的按钮
在后面我们需要认识到:我们需要从软件工程的设计思路去理解一个框架。基类往往定义了一个族类的基调。所以让我们看看QAbstractButton到底干了什么。该类的子类处理用户操作,并定义按钮的绘制方式。普通按钮和可勾选(切换)按钮。可勾选按钮由和QCheckBox类实现,而普通按钮则由和类实现,后者在需要时也支持切换行为。任何按钮都可以显示一个包含文本和图标的标签。可以使用setText()方法设置文本,使用setIcon()方法设置图标。当按钮被禁用时,其标签会更改为一种“禁用”外观。原创 2024-10-31 19:03:22 · 943 阅读 · 0 评论 -
Qt的简单布局管理说明
这里不是具体的好看的界面设计教程,但是打算说一下:优先使用布局管理,可以事半功倍的拜托对size的管理。原创 2024-10-27 08:59:56 · 926 阅读 · 1 评论 -
说一说QWidget
写Qt快两年了,也写过一些规模偏大的软件,但是依旧觉得对QWidget的类比较陌生,这里整理一下笔者看到的一些笔记。供以参考翻阅!原创 2024-10-27 07:33:18 · 1289 阅读 · 0 评论 -
Qt元对象系统 —— 信号与槽
信号与槽讨论的是Qt对象之间的连接与交互。只需要当我们需要在程序中表达:“希望在程序中通知一个事件而且按照我们设定的方式给出回应”的时候,信号与槽就会排上用场。表达了我们确认一个连接:当LineEdit的文字一发生改变就通知我们的MyClass做出对应的举措。这样我们的信号再发送的时候就不会发生槽函数对应的调用了。: 队列连接,信号发射后将调用槽函数的请求放入接收对象所在线程的事件队列中,稍后处理。当我们想要对一个重载的信号连接槽函数的时候,注意QOverLoad的使用,他负责消除连接的二义性。原创 2024-10-26 15:41:41 · 917 阅读 · 0 评论 -
Qt元对象系统分析小记
第一个问题:什么是元对象?首先,原生的C++,是没有反射这个概念的。或者说,我们没有办法使用标准直接快速的获取类的所有信息:比如说快速取到表达类名的字符串,类方法的字符串等等。即使广大编译器有了各种各样的支持,但是C++的实现自由就导致了每一个编译器的实现方式不一样,我们书写的程序非常难以实现通用。Qt提供了更为强大的元对象(Meta-Object)系统机制功能描述元对象类每个QObject子类都有一个对应的元对象类,提供对象的名称、属性、信号和槽的信息。信号和槽。原创 2024-10-25 10:57:09 · 1149 阅读 · 0 评论 -
Mastering Qt 番外 —— 添加源码调试
笔者最近正在尝试深入的学习Qt框架,经常需要明确我经常使用的类底下发生了什么,因此笔者决定仔细研究一下如何进行源码级别的调试此篇文章将会介绍如何使用Qt Creator这个IDE进行调试。最终效果如下。原创 2024-09-19 15:53:07 · 1146 阅读 · 0 评论 -
Qt学习之旅 I
我们将会使用一个单例:System_Info,这是可以理解的因为我们的应用软件只会跑在一个操作系统上,因此没有必要创建多个实例,这种方式广泛的应用在那些维护全局状态的对象当中,也是一个常见的设计模式了。但是这并并有结束,我们还差了IMPL与INTERFACE的部分的鸿沟,为此,我们需要做的是,将类的实现类移动到一个工厂类来负责实现,工厂来裁决生成如何的实现类去!可以看到,我们的IMPL接口自身也被抽象为接口类,这是合理的——每一个操作系统获取内存和CPU的状态都不一样,需要我们更加具体的类实现。原创 2024-09-15 10:05:25 · 1329 阅读 · 0 评论 -
深入研究Qt Meta - Object System
这篇文章我打算研究一下QMetaObject System,也就是Qt自己构建起来的元对象系统。原创 2024-05-18 19:56:09 · 1264 阅读 · 0 评论