Qt。声明自定义 QEvent 类型 ONCE

标签 qt qevent

我有一个包含以下代码的 .h 文件:

const QEvent::Type MyOnEventType =
           QEvent::Type(QEvent::registerEventType( QEvent::User + 500 ) );

该 header 在应用程序中使用了两次。我发现一个问题,在不同的地方 MyOnEventType 有不同的整数值。如果在上面的代码上设置断点,调试器将停止 9 次。

请帮助如何声明自定义 QEvent 类型 ONCE

最佳答案

我不能百分百确定我理解你的问题,但听起来你需要将声明和实现分开。像这样的东西:

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.

关于Qt。声明自定义 QEvent 类型 ONCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231907/

相关文章:

c++ - 从基于 QObject 的类继承构造函数

c++ - 获取QPainter的可见区域

QtCreator : Issues not displayed in Issue panel any more

C++ Qt WriteProcessMemory

Wacom 数位板的 Python 示例

linux - QMenu 关闭时在 Mac OS 和 Linux 上发出的 QEvent 类型的差异

QListWidget 上带有 MouseButtonRelease 的 QT eventFilter 未检测到鼠标按下/释放

c++ - 了解其他类(class)发生的事件

c++ - Q3ListView 是否无法从 Qt 后备存储中注销或代码错误?

qt - 如何在 Mac OS X 系统菜单上更改 Qt 应用程序名称?