当前位置: 首页 > news >正文

Qt之自定义事件QEvent

在Qt中,自定义事件的步骤大概如下:
1.创建自定义事件,自定义事件需要继承QEvent

2.使用QEvent::registerEventType()注册自定义事件类型,事件的类型需要在 QEvent::User 和 QEvent::MaxUser 范围之间,在QEvent::User之前是预留给系统的事件

3.使用sendEvent() 和 postEvent()发送自定义消息

4.接受自定义消息,通过重写 event、customEvent 或eventFilter来处理事件
自定义事件有很多应用场景,比如说从第三方库中回调过来的数据,如果要显示到界面上,需要在回调函数中将数据包装成事件发送出来,主线程接收到事件后解析数据并显示。下面是一个从第三方库获取视频帧并绘制到界面的例子。

QHFrameEvent.h

#ifndef QHFRAMEEVENT_H
#define QHFRAMEEVENT_H#include <QEvent>struct Frame
{uint8_t *buffer;int width;int height;
};class QHFrameEvent : public QEvent
{
public:explicit QHFrameEvent(Frame *frame);virtual ~QHFrameEvent();public:static void postEvent(QObject *obj, Frame *frame);static QHFrameEvent *
http://www.lryc.cn/news/205697.html

相关文章:

  • 项目管理week5——交个作业
  • 5.5G移动通信技术
  • chrony时间服务
  • 音乐制作软件 Studio One 6 mac中文版软件特点
  • SpringBoot整合redis集群和redis单节点
  • 【ARM Coresight 系列文章19.1 -- Cortex-A720 PMU 详细介绍】
  • FoneDog iOS Unlocker(ios解锁工具) 适用macos电脑
  • 雅可比矩阵和雅可比坐标
  • macOS鼠标管理操作增强BetterMouse简体中文
  • 塔式服务器介绍
  • 上海市道路数据,有63550条数据(shp格式和xlsx格式)
  • 计算机网络_03_tcp/ip四层模型
  • [SQL开发笔记]IN操作符: 在WHERE子句中规定多个值
  • Java基础(第一期):IDEA的下载和安装(步骤图) 项目结构的介绍 项目、模块、类的创建。第一个代码的实现
  • 0基础学习PyFlink——使用PyFlink的SQL进行字数统计
  • 【Java系列】ArrayList
  • sqlalchemy 使用
  • Python深度学习实战-基于class类搭建BP神经网络实现分类任务(附源码和实现效果)
  • GIS 数据结构整理:网格索引
  • 【打靶】vulhub打靶系列(一)—小白视野的渗透测试
  • kafka3.X集群安装(不使用zookeeper)
  • 2023 年 的 DBA 有哪些变化?
  • vs2022 使用git同步报错以及解决每次推送要输入密码问题
  • 有哪些适用于 Windows 的PDF 阅读器?免费 PDF 阅读器清单
  • 避雷!新增2本期刊被标记为「On Hold」,1区TOP刊仍在调查中!
  • iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App
  • 【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)
  • 【Python机器学习】零基础掌握AdaBoostRegressor集成学习
  • 各种添加路由的方法
  • MySQL外键