alisami
alisami

Reputation: 350

finding the top-level widget on a non-activewindow in qt

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

Upvotes: 1

Views: 780

Answers (1)

Caleb Huitt - cjhuitt
Caleb Huitt - cjhuitt

Reputation: 14951

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.

Upvotes: 2

Related Questions