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没有关系。我对吗 ? –