tags:

views:

20

answers:

1

Hi,

I'm trying to find the top-level widget on a non-active window. But I do not want to use QApplication::topLevelAt() method. I have a main window and several child widget's of main window's central widget. Is it possible to distinguish whether one of the child widget is on top of other childs?

Sami

+1  A: 

QObject::children() lists the children of a given object. For QWidgets, the children are drawn in order of the list, which means that you can get the top-most (last-drawn) child with the following code:

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

Be aware that the above code may fail if the parent has no children.

Caleb Huitt - cjhuitt