2

このようなコードを含む .h ファイルがあります。

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

このヘッダーは、アプリケーションで 2 回使用します。MyOnEventType の整数値が異なる場所で異なるという問題が見つかりました。上記のコードにブレークポイントを作成すると、デバッガーが 9 回停止します。

カスタム QEvent タイプ ONCE を宣言する方法を教えてください

4

1 に答える 1

5

あなたの質問を完全に理解しているとは言えませんが、宣言と実装を分離する必要があるようです。何かのようなもの:

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.
于 2011-11-22T19:11:42.843 に答える