gpt4 book ai didi

c++ - Qt:定义自定义事件类型

转载 作者:IT老高 更新时间:2023-10-28 22:17:13 25 4
gpt4 key购买 nike

我通过继承 QEvent 在我的 Qt 应用程序中创建了一个自定义事件。

class MyEvent : public QEvent
{
public:
MyEvent() : QEvent((QEvent::Type)2000)) {}
~MyEvent(){}
}

为了检查这个事件,我在 event() 方法中使用了以下代码:

if (event->type() == (QEvent::Type)2000)
{
...
}

我希望能够在我的应用程序中的某处定义自定义事件的类型,这样我就不需要在我的事件方法中转换实际的整数。所以在我的 event() 方法中,我希望能够做类似的事情

if (event->type() == MyEventType)
{
...
}

有什么想法可以在代码中如何以及在何处执行此操作?

最佳答案

如果事件类型标识您的特定类,我会把它放在那里:

class MyEvent : public QEvent {
public:
static const QEvent::Type myType = static_cast<QEvent::Type>(2000);
// ...
};

// usage:
if(evt->type() == MyEvent::myType) {
// ...
}

关于c++ - Qt:定义自定义事件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2248009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com