如何通过名称获取父对象? QWidget::parentWidget()
仅提升一级;我宁愿需要一个等同于QObject::findChild()
的递归搜索。
答案 0 :(得分:3)
QWidget
继承了QObject
,因此所有QObject::objectName
都可以使用QWidgets
您可以通过创建一个类似于以下内容的自由函数来递归父树(请注意这是未经测试的代码)
QWidget* parentByName(QWidget* widget, QString name)
{
widget = parentWidget();
if (widget && widget->objectName() != name)
return parentByName(widget, name);
return widget;
}
这将返回您正在寻找的小部件,或者在无法找到的情况下返回nullptr