如何在QT中获取Top(base)parentWidget?

ali*_*ody 12 qt widget parent

我正在创建一个软件,父母必须可以访问childrenWidget(或孩子们的孩子的孩子......),以及从孩子到parentWidget(或父母的父母的父母......).

例如 :

QWidget_Principal --> WidgetApplications --> WidgetMenuBar --> PushButtonFullScreen.
Run Code Online (Sandbox Code Playgroud)

问题在于我能做到这一点的方式正在做

this->parentWidget()->parentWidget()->parentWidget()->showFullScreen();
Run Code Online (Sandbox Code Playgroud)

这有一个简单的方法吗?

提前谢谢,对不起我非常糟糕的英语.

路易斯达科斯塔

Rai*_*aiv 29

用于QWidget * QWidget::window () const获取窗口小部件的窗口小部件.

还有QWidgetList QApplication::topLevelWidgets () [static]功能,以获取您的应用程序中所有顶级小部件的列表...


zku*_*nov 5

另一种方法:

QWidget* topWidget = QApplication::topLevelAt(yourWidget->mapToGlobal(QPoint()));
Run Code Online (Sandbox Code Playgroud)