在qt中查找非活动窗口中的顶级窗口小部件

时间:2010-06-30 13:41:51

标签: qt

我正在尝试在非活动窗口中找到顶级窗口小部件。但我不想使用QApplication :: topLevelAt()方法。 我有一个主窗口和主窗口中央小部件的几个子窗口小部件。是否可以区分其中一个子窗口小部件是否位于其他子节点之上?

萨米

1 个答案:

答案 0 :(得分:2)

QObject::children()列出给定对象的子项。对于QWidget,子项按列表顺序绘制,这意味着您可以使用以下代码获取最顶层(最后绘制)的子项:

QWidget *topmost_p = qobject_cast<QWidget*>(parent_p->children().last());

请注意,如果父母没有孩子,上述代码可能会失败。