首页 > 其他分享 >QtWidgetsApplication中的EventDispatcher的创建

QtWidgetsApplication中的EventDispatcher的创建

时间:2024-09-26 12:13:50浏览次数:8  
标签:EventDispatcher int 创建 GlobalEventFilter QObject QtWidgetsApplication override

#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>

class GlobalEventFilter : public QObject
{

public:
    virtual bool eventFilter(QObject* watched, QEvent* event) override
    {
        qDebug() << "watched : " << watched << " event :  " << event->type();
        return false;
    }
};
int main(int argc, char *argv[])
{
    **QApplication **a(argc, argv);
    QtWidgetsApplication1 w;
    a.installEventFilter(new GlobalEventFilter());
    w.show();
    return a.exec();
}

EventDispatcher的创建是在QApplication 对象构造过程中 通过 QApplicationPrivate的 init函数中创建的,最终调用到了 QGuiApplicationPrivate重写的void createEventDispatcher() override函数,通过QWindowsIntegration的createEventDispatcher 返回QWindowsGuiEventDispatcher。 主要内容已经列在下面的图中。

标签:EventDispatcher,int,创建,GlobalEventFilter,QObject,QtWidgetsApplication,override
From: https://www.cnblogs.com/DesertCactus/p/18433197

相关文章

  • Visual Studio Code,关于创建项目时,系统找不到指定路径
            vitecreatehello-vite项目时,系统总是找不到指定的路径         然后在搜索框搜PowerShell,并以管理员身份运行,更改了执行策略为(A)全是          但是在接着重新在终端里的时候,vitecreatehello-vite项目时,系统还是找不到指定路径。发......
  • 进程和线程的区别;线程的多种创建方式;Thread 类及常见方法;线程的状态
    文章目录进程和线程的区别线程的创建方式继承Thread,重写run(创建单独的类/匿名内部类)实现Runnable,重写run(创建单独的类/匿名内部类)实现Callable,重写call(创建单独的类/匿名内部类)使用lambda表达式ThreadFactory线程工厂线程池Thread类及常见方法Thread的常见属性启动一......
  • 使用Pygal库创建可缩放的矢量图表:从基础到高级自定义详解
    在数据可视化的世界中,创建可缩放的矢量图表是至关重要的,因为它们可以无损地在各种设备和分辨率下进行展示。Python中有许多强大的库可供选择,其中Pygal是一个出色的选择,它提供了创建各种类型的交互式矢量图表的功能。什么是Pygal?Pygal是一个Python库,专门用于创建可缩放的矢量图表。......
  • Mongodb 常见操作:查询,排序,查看索引,创建索引等
    //insertdb.books.insert([{_id:12,item:"pencil1",qty:51,type:"no.1"},{_id:21,item:"pencil1",qty:52,type:"no.2"},{_id:31,item:"pencil1",qty:53,type:"no.3"},])db.b......
  • 智能体创建心得体会
    在当今这个追求个性与品质的时代,珠宝不仅是身份的象征,更是个人风格的体现。为了帮助用户更好地选择和佩戴珠宝,特别推出了一款名为“精致珠宝顾问”的智能体。以下是创建过程中的一些心得体会。1、角色与目标的明确“精致珠宝顾问”的主要角色是作为用户的私人珠宝顾问,提供个性化的......
  • 豆包MarsCode初体验,用 React 创建一个最经典的贪吃蛇游戏
    以下是「 豆包MarsCode 体验官」优秀文章,作者Find。背景在人工智能快速发展的时代,大模型(LLM)只要有足够的算力和数据就可以做到任何的事情,甚至可以模拟出另一个地球。LLM作为一个革命化的科技,可以取代很多岗位,甚至可以让人类达到“躺着领钱的时代”。Marscode作为一个新推出的IDE......
  • 初次创建
    初次创建账号第一篇博客测试试一下代码块#include#studio.h#代码ros2run#单句代码测试一级标题二级标题三级标题四级标题五级标题六级一般用不到分割线测试一般正文一个波浪号不知道什么用的两个波浪号表示划线句测试加粗强调测试颜色测试$\color{red}{red红......
  • 使用Xmind创建概念图全流程教程
    概念图是一种能够提升理解和组织能力的视觉学习工具,广泛应用于教育、商业和个人发展。它可以直观地展示概念之间的关系,是一种灵活且有效的方式。在本文中,我们将深入探讨概念图的好处、主要元素、与其他图形组织工具的区别,以及如何使用Xmind等工具创建有效的概念图。什么是概......
  • 一维数组的创建和初始化
    当变量出现,我们就有了存放单个数据的概念,那么我们有一堆数据呢?比如:我们班的数学成绩有30个数据,此时我们可以把它们看作一个集体C语言就出现了数组的概念,创建一个连续的空间将同类型的多个数据存放在一起,并且可以指定大小,就是数组。1.数组的概念数组就是存放着同类型元素的......
  • 如何使用 Bittly 为串口设备快速创建上位机
    在开发硬件设备或嵌入式系统时,串口通讯(SerialCommunication)是非常常见的一种数据传输方式。为了更高效地测试串口通讯并快速执行各种命令操作,您可以通过Bittly的面板功能将串口通讯相关操作封装成易用的UI控制面板,简化操作并提升开发效率。准备在开始之前,您需要确保......