
QT
有人给我介绍对象吗
cpdd
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
explicit
下面通过具体代码示例来说明explicit。原创 2024-12-04 20:28:17 · 232 阅读 · 0 评论 -
paintEvent(QPaintEvent *event)
当控件的尺寸发生变化(例如窗口被用户拖动导致布局调整,或通过代码修改控件的大小时),paintEvent 会被调用以重新绘制控件。当控件被其他窗口或控件遮挡,然后重新暴露时(例如拖动另一个窗口离开控件区域),需要重新绘制控件的内容,触发 paintEvent。当控件首次显示时(例如调用 show() 或在父控件中被设置为可见),会触发 paintEvent,以便绘制控件的内容。update():标记控件区域需要更新,Qt 会在合适的时机(通常是事件循环中空闲时)调用 paintEvent。原创 2024-12-04 20:10:31 · 748 阅读 · 0 评论 -
LVGL 与 QT
LVGL 与 QT原创 2024-11-07 12:11:36 · 662 阅读 · 0 评论 -
QT 关于mousePressEvent无法过滤
主要原因是双击事件他也定义为了mousePressEvent。所以拦截的时候QEvent::MouseButtonDblClick 也需要拦截下来不然会漏掉双击事件触发mousePressEvent导致过滤器不起作用。原创 2024-11-03 14:42:00 · 303 阅读 · 0 评论 -
事件的传递
如果一个事件在 Qt 中未被处理,事件将按照以下机制进行传递和释放:原创 2024-11-01 20:25:17 · 322 阅读 · 0 评论 -
Qt 框架会经历一系列的步骤来处理这个事件。以下是完整的处理流程
这个信号可以连接到其他对象的槽函数,以响应按钮的点击事件。对于鼠标按下事件,Qt 会调用 QPushButton::mousePressEvent(QMouseEvent *e)。事件过滤器处理完成后,事件被传递给目标对象(即 QPushButton)。Qt 创建一个 QMouseEvent 事件对象,表示鼠标按下的动作。应用程序的事件循环(QApplication::exec())开始运行,不断检查事件队列中的事件。在事件到达目标对象之前,Qt 会检查是否有安装的事件过滤器。事件过滤器(如果有)原创 2024-11-01 17:03:56 · 457 阅读 · 0 评论 -
QList
在 Qt 框架中, QList 是一个容器类,它在内部实现上类似于一个数组,但也提供了一些链表的特性。QList 的设计旨在提供一个在多数情况下既高效又方便的通用列表容器。它提供了丰富的功能,包括添加、移除、访问元素等。当你需要快速的随机访问(如通过索引访问元素)时, QList 是一个不错的选择。如果你的主要操作是在列表的两端添加或移除元素, QList 也表现得很好。原创 2024-11-01 15:04:08 · 139 阅读 · 0 评论 -
文件操作类 QFile
QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文件。QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。原创 2024-11-01 10:35:03 · 357 阅读 · 0 评论 -
自定义信号与槽
定义信号:在Qt中,信号是由 signals 关键字声明的类成员函数。它们不需要实现,只需声明。Q_OBJECTpublic:private:定义槽:槽可以是任何普通的成员函数,但通常在类定义中用 slots 关键字标识。槽可以有返回类型,也可以接受参数,但它们的参数类型需要与发出信号的参数类型匹配。原创 2024-10-31 20:08:00 · 193 阅读 · 0 评论 -
Qt信号和槽的几种常见连接方式的简要概述
直接使用QObject::connect 是最通用的方式,而使用Lambda表达式可以在同一位置编写信号处理逻辑,提高代码的可读性。使用函数指针的方式则在编译时提供更好的类型检查。自动连接通常在使用Qt Designer设计UI时比较方便。原创 2024-10-31 19:08:40 · 110 阅读 · 0 评论 -
Qt头文件中的QT_BEGIN_NAMESPACE
这个类就会发现这个是UI文件生成的一个类。如果没有这个头文件请先编译一下就出现了这个。发现默认是没有打开的说以一般删掉宏定义也是没有问题的。之所以要添加这部分主要是为了下面能够知道这个的存在。原创 2024-10-31 11:05:01 · 424 阅读 · 0 评论 -
Qt的架构设计
QtMultimedia、QtNetwork、QtSql等:分别处理多媒体、网络通信和数据库交互。QtGui:处理图形用户界面相关的功能(在Qt 5中,大部分内容迁移到QtWidgets)。QtQml和QtQuick:支持动态和现代用户界面的开发,特别适合移动和嵌入式设备。QtCore:提供基础的非GUI功能,如事件处理、信号与槽、数据结构、文件处理等。QtWidgets:提供传统的桌面GUI组件,用于构建用户界面。原创 2024-10-31 10:56:06 · 761 阅读 · 0 评论