質問

私は別のアプリケーションのキーの押下をシミュレートするテストアプリケーションを書いています。すべてのキーを押して、私は右側のウィンドウ/フォームが表示されているかどうかを確認する必要があります。だから私は何をすべきかは、ウィンドウのポインタが表示されて取得し、それのウィンドウタイトルを取得することです。しかし、すべてのウィンドウ/フォームは、ウィンドウのタイトルを示していません。私が考えているようではなく、クラスの名前を取得する方が良いだろう。どのように私はクラスの名前を得ることができますか?

QWidget *pWin = QApplication::activeWindow();
私がしよう。

pWin->className(); 

は、クラスの名前を取得するには、私は取得しています:

  

は、 "エラー:クラスのQWidgetは 'className' のという名前のメンバーを持っていない"

缶誰かが私に正しい方法を示して?

役に立ちましたか?

解決

メタオブジェクトに。

を使用してみてください
pWin->metaObject()->className();  

他のヒント

また、typeinfoのヘッダをチェックすることができ。あなたがあなたのオブジェクトの種類を説明しTYPE_INFOインスタンスを取得するには、オブジェクト上のtypeid演算子を使います。 チェックアウト: http://www.cplusplus.com/reference/std/typeinfo/type_info /

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top