QEvent — объект-событие, позволяет создавать наследников. В этом классе определено перечисление enum QEvent::Type. в котором есть значение QEvent::User. При создании наследника нужно определить собственный тип, следующим образом:
enum { Type = UserType + 1 };
int type() const
{
return Type;
}
здесь единичка только для примера. Когда создаются несколько пользовательских типов, то у каждого должно быть своё смещение.Вопрос: какие способы учёта идентификатор пользовательских типов вы используете/знаете?
На мой взгляд эта проблема стоит довольно остро в приложениях с развитым использованием подключаемых модулей (plugins)
П.С.
применительно к QEvent я знаю о существовании метода
int QEvent::registerEventType ( int hint = -1 ) [static]