qApp的eventFilter的问题,接收到事件obj的问题。

caiwei_cs 2016-06-01 05:38:37
我给qApp安装了一个事件过滤器
qApp->installEventFilter(this);

bool Widget::eventFilter(QObject *obj, QEvent *ev)
{
qDebug()<<obj->objectName()<<ev->type();
return QWidget::eventFilter(obj,ev);
}

打印出来的结果是:
"mywidgetWindow" 5
"mywidget" 5

想请教一下mywidgetWindow是哪里来的?
似乎命名规则是xxx+Window。
而且事件也是从他开始。??
...全文
562 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiwei_cs 2016-06-08
  • 打赏
  • 举报
回复
没有人试一下,然后觉得奇怪么?
caiwei_cs 2016-06-07
  • 打赏
  • 举报
回复
自己顶一下。
caiwei_cs 2016-06-06
  • 打赏
  • 举报
回复
引用 2 楼 u010111033 的回复:
首先,qApp宏关联的是main()函数里面的:QApplication a(argc, argv);里面的a,使用它代指整个应用程序;之所以打印mywidget,是你这个事件管理器写在这个类里面,也就是GUI主线程界面里,它从某些方面上说也确实代指了你的应用程序。而打印出来的5是一个enum枚举,查了下是QEvent::MouseMove。 个人看法,一般使用事件管理器,是将GUI界面的部件关联进去,这些部件发生变化或者执行动作,那么在事件管理器里面给出响应。obj就是名字,event就是发生什么事,可以这么理解:当obj发生什么event变化(事件),那么我们do什么(自己写执行的操作)。 你这里将整个应用程序都安装事件管理器,那么凡是应用程序发生的事件,都是可以打印出来的,也就是说,充满各种随机性。
我的控件顶级窗口objectname为mywidget,但是我没有命名mywidgetWindow 这个名字,工程中都没有~。这个是测试工程,在别的工程里面也会有xxx+Window这个东西。
引用 4 楼 llq108 的回复:
你的类的名字应该是Widget吧?mywidgetWindow是你的程序的工程名。
不是工程名,也不是我的类名。
引用 3 楼 taocf 的回复:
mywidgetWindow 是你自己类的名字,Q_OBJECT宏在预编译时产生的,qApp->installEventFilter(this);中this所对应的对象。
不是类名,也不是this的类名。
ronal7do 2016-06-03
  • 打赏
  • 举报
回复
你的类的名字应该是Widget吧?mywidgetWindow是你的程序的工程名。
cheifer 2016-06-02
  • 打赏
  • 举报
回复
mywidgetWindow 是你自己类的名字,Q_OBJECT宏在预编译时产生的,qApp->installEventFilter(this);中this所对应的对象。
Little柯南 2016-06-02
  • 打赏
  • 举报
回复
首先,qApp宏关联的是main()函数里面的:QApplication a(argc, argv);里面的a,使用它代指整个应用程序;之所以打印mywidget,是你这个事件管理器写在这个类里面,也就是GUI主线程界面里,它从某些方面上说也确实代指了你的应用程序。而打印出来的5是一个enum枚举,查了下是QEvent::MouseMove。 个人看法,一般使用事件管理器,是将GUI界面的部件关联进去,这些部件发生变化或者执行动作,那么在事件管理器里面给出响应。obj就是名字,event就是发生什么事,可以这么理解:当obj发生什么event变化(事件),那么我们do什么(自己写执行的操作)。 你这里将整个应用程序都安装事件管理器,那么凡是应用程序发生的事件,都是可以打印出来的,也就是说,充满各种随机性。
caiwei_cs 2016-06-02
  • 打赏
  • 举报
回复
自己顶一下~

16,815

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧