別のアプリケーションのキー押下をシミュレートするテストアプリを作成しています。キーを押すたびに、正しいウィンドウ/フォームが表示されるかどうかを確認する必要があります。だから私がしていることは、表示されているウィンドウのポインタを取得し、そのウィンドウタイトルを取得することです。ただし、すべてのウィンドウ/フォームにウィンドウタイトルが表示されるわけではありません。代わりにクラスの名前を取得する方が良いと思います。クラスの名前を取得するにはどうすればよいですか?
QWidget *pWin = QApplication::activeWindow();
私が試したとき:
pWin->className();
クラスの名前を取得するために、私は得ています:
「エラー:クラスQWidgetには 'className'という名前のメンバーがありません」
誰かが正しい方法を教えてくれますか?
metaobject を使用してみてください。
pWin->metaObject()->className();
Typeinfoヘッダーを確認することもできます。オブジェクトでtypeid演算子を使用すると、オブジェクトのタイプを説明するtype_infoインスタンスが取得されます。チェックアウト: http://www.cplusplus.com/reference/std/typeinfo/type_info/