我有一个带有这样代码的.h文件:
const QEvent::Type MyOnEventType =
QEvent::Type(QEvent::registerEventType( QEvent::User + 500 ) );
此标头在应用程序中使用两次。我发现一个问题,在不同的地方MyOnEventType有不同的整数值。如果在上面的代码上设置一个断点,调试器会停止9次。
请帮助如何声明自定义QEvent类型ONCE
答案 0 :(得分:5)
我不是100%肯定我理解你的问题,但听起来你需要将声明和实现分开。类似的东西:
<强> my_event.h 强>
class MyEvent : public QEvent {
public:
static const QEvent::Type MyEventType;
// etc.
};
<强> my_event.cpp 强>
#include "my_event.h"
const QEvent::Type MyEvent::MyEventType =
static_cast<QEvent::Type>(QEvent::registerEventType());
// etc.