本文介绍了Qt:定义自定义事件类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经通过子类化QEvent在我的Qt应用程序中创建了一个自定义事件。
I have created a custom event in my Qt application by subclassing QEvent.
class MyEvent : public QEvent { public: MyEvent() : QEvent((QEvent::Type)2000)) {} ~MyEvent(){} }为了检查这个事件,我在event()方法中使用下面的代码:
In order to check for this event, I use the following code in an event() method:
if (event->type() == (QEvent::Type)2000) { ... }我想能够在应用程序中定义自定义事件的类型,以便我不需要在我的事件方法中转换实际的整数。所以在我的event()方法我想能够做一些像
I would like to be able to define the custom event's Type somewhere in my application so that I don't need to cast the actual integer in my event methods. So in my event() methods I'd like to be able to do something like
if (event->type() == MyEventType) { ... }推荐答案
如果事件类型标识你的特定类,
If the event-type identifies your specific class, i'd put it there:
class MyEvent : public QEvent { public: static const QEvent::Type myType = static_cast<QEvent::Type>(2000); // ... }; // usage: if(evt->type() == MyEvent::myType) { // ... }更多推荐
Qt:定义自定义事件类型
发布评论