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()){
^
而我卡在這裏。
嘗試添加'的#include'到文件的高效解決方案在文件中
指令,其中'WindowUtil ::主窗口()'被定義爲。 – Sergey
現在它的工作;) –
我已經在其他地方使用過'QApplication',並且不需要#include。也許這是因爲這個WindowUtil類與QT沒有關係。我對嗎 ? –