2
私のプロジェクトの中には、開いているウィンドウのリストからウィンドウの参照を取得したいものがあります。 だから、私はこの方法をやっている:開いているウィンドウのリストからQWidgetを取り出す方法
QWidget* WindowUtil::mainWindow() {
QWidget* main_window = nullptr;
for(QWidget *window: QApplication::allWidgets()){
if(QString(window>metaObject()->className()).contains("Home")){
main_window = window;
break;
}
}
return main_window;
}
WindowUtil
は私のプロジェクトのクラスであり、mainWindow()
は静的メソッドです。
ただし、この解決策は機能しません。コンパイラは言う:
error: incomplete type 'QApplication' used in nested name specifier
for(QWidget *window : QApplication::allWidgets()){
^
私はここにこだわっています。
は '' WindowUtil ::メインウィンドウ()ファイルに ''書式#include <はQApplication>を追加しようが定義される。 – Sergey
これはうまくいきました;) –
私は 'QApplication'をどこかで使っていましたが、#includeは必要ありませんでした。このWindowUtilクラスがQTと関係がないためです。私は正しい? –