Как получить верхний (базовый) parentWidget в QT?
Я создаю программное обеспечение, которое должно быть доступно родителем для childrenWidget (или детей детей детей....) и от детей к parentWidget (или родителю родителя родителя родителя ...).
например :
QWidget_Principal --> WidgetApplications --> WidgetMenuBar --> PushButtonFullScreen.
проблема в том, что способ, которым я могу это сделать, делает
this->parentWidget()->parentWidget()->parentWidget()->showFullScreen();
это там простой способ сделать это ?
заранее спасибо И прости за мой плохой английский.
Луис Да Коста
4 ответов
просто напишите глобальную функцию:
QWidget* TopLevelParentWidget (QWidget* widget)
{
while (widget -> parentWidget() != Q_NULLPTR) widget = widget -> parentWidget() ;
return widget ;
}
действительно простой ответ python, назовите это в любом дочернем классе виджетов, конечно:
top_widget = self
while top_widget.parentWidget(): top_widget = top_widget.parentWidget()