Я создал пользовательское событие в своем спокойном приложении путем разделения на подклассы QEvent.
class MyEvent : public QEvent
{
public:
MyEvent() : QEvent((QEvent::Type)2000)) {}
~MyEvent(){}
}
Для проверки на это событие я использую следующий код в событии () метод:
if (event->type() == (QEvent::Type)2000)
{
...
}
Я хотел бы иметь возможность определить Тип пользовательского события где-нибудь в моем приложении так, чтобы я не должен был бросать фактическое целое число в своих методах события. Таким образом в моем событии () методы я хотел бы иметь возможность сделать что-то как
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) {
// ...
}