关于如何使用指向主窗口的指针的 QT 问题

QT question about how to use a pointer to MainWindow

本文关键字:窗口 指针 QT 问题 于如何      更新时间:2023-10-16

我知道如何使用指向 Widget 的指针,例如Widget* fatherPtr = (Widget*)parentWidget();.

但是在主窗口中,当我使用MainWindow* ptr = (MainWindow*)parentWidget();时它不起作用。似乎这是一个无效的指针。如何解决?我急于得到正确的解决方案,非常感谢!

我已经通过使用在 MainWindow 中声明的函数解决了我的问题:

MainWindow* MainWindow::getMainWindow()
{
foreach(QWidget *w, qApp->topLevelWidgets())
if (MainWindow* mainWin = qobject_cast<MainWindow*>(w))
return mainWin;
return nullptr;
}

感谢所有帮助过我的人