を発生それを行う?について学ぶ、私は2つのクラスを持っている他のクラスからのイベント
1
A
答えて
1
Event filtersはあなたの仕事を達成するQtの方法です。
WindowManager
クラスのサブクラスをQObject
とし、そのeventFilter()
メソッドの実装を提供してください。
その後、AdaptedWidget
を作成するたびに、WindowManager
インスタンスをイベントフィルタとしてインストールするには、installEventFilter()
を使用してください。
class WindowManager : public QObject
{
public:
...
bool eventFilter(QObject* obj, QEvent* ev);
private:
std::stack<window_ptr> m_windowsStack;
}
と
bool WindowManager::eventFilter(QObject* obj, QEvent* ev){
AdaptedWidget* widget= qobject_cast<AdaptedWidget*>(obj);
if(ev->type == /*type of event you are interested in*/){
//you can compare widget against the stack of widgets you have
//if you want to stop widget from receiving the event you can return true
}
return false;
}
各AdaptedWidget
インスタンスを作成するときに、イベント・フィルタとしてWindowManager
をインストール:
AdaptedWidget* widget= new AdaptedWidget;
widget->installEventFilter(/*your WindowManager instance*/);
+0
ありがとう!あなたが書いたように完了! –
1
AdaptedWidget
クラスは、マウスプレスを示す信号を有するべきです、例えば
もう1つの方法は、イベントフィルタを使用することですが、不要に厳密に2つのクラスを結合します。
関連する問題
- 1. は、私はこれらの2つのクラスを持っている外部クラス
- 2. のForeignKey、私は2つのクラスを持っているテンプレート
- 3. は、私は2つのクラスを持っている財産
- 4. @jsonbackreferenceは、私は2つのクラスを持っている関係
- 5. 必須フィールドは、私は2つのクラスを持っている
- 6. は、私は2つのクラスを持っているマッピング配列
- 7. 私は2つのクラスを持って互いに
- 8. C#が、私は2つのクラスを持っているIGrouping
- 9. 私は2つのテーブルを持っている各クラス
- 10. JAVAのリファレンスは、私はクラスを持っている他のクラス
- 11. は、私は私のモデルで3つのクラスを持っている他のテーブル
- 12. 私は2つのインターフェイス持っている匿名クラスで
- 13. @OneToManyは、私は2つのテーブルと、これらのクラスを持っている
- 14. PythonのTkinterの2クラスIは、2つのクラスを持っている
- 15. エラー、私は私のモデルに2つのクラスを持っている
- 16. コンストラクタは、私は私のクラスでは2つのコンストラクタ持っているのpython
- 17. Javaは、私は2つのマップを持っている他の
- 18. カスケードは、私はASP .NETアイデンティティにApplicationUserから継承されている2つのクラスを持っている
- 19. ロードDLLからメンバ変数を持つクラス/私は2つのディレクトリを持っているpugg
- 20. 私はこれらの2つのパブリックメソッドを持つクラスを持っているSTLのmapで
- 21. は、私は2つのクラスを持っている多くの関係のAndroid
- 22. Grailsの1は、私は、この2つのクラスを持っている子供
- 23. 8.5 2つのウェブサイト、私は2つのウェブサイトを持っている他の
- 24. 私は3つのダーツのクラスを持っているダーツ
- 25. ユニティ - 私は1つのインターフェイス持っている同じクラスに
- 26. の削除は、私は2つのクラスを持っているタイプ
- 27. は、私はJavaで2つのクラスを持っているのjava
- 28. @qualifierは、私はこのような2つのクラスを持っている@Component
- 29. のObjectQueryは、子オブジェクトが、私は2つのクラスを持っている
- 30. は、私は2つのクラスを持っているナビゲーション、同じレベルのコンポーネント
イベントを聞く(購読する)か、別のイベントが発生したことを伝える(公開する)ことができます。 –
@hg_git私にいくつかの例を与えてください –