如何列出qwidget中包含de objectname中特定字符串的所有子节点?
例如,如果我有:
"general_widget", with children:
"label_name_1"
"label__1"
"label_name_2"
"label_id_2"
"label_name_3"
"label_id_3"
"label_name_4"
"label_id_4"
我想获得一个包含" name"作为objectName的一部分,以及包含" id"的所有子节点的另一个列表。谢谢!
答案 0 :(得分:1)
使用findChildren()
和objectName().contains()
,例如:
QList<QWidget*> subwidgets = this->findChildren<QWidget*>();
QListIterator<QWidget*> it(subwidgets); // iterate through the list of widgets
QWidget *awiget;
while (it.hasNext()) {
awiget = it.next(); // take each widget in the list
if (awiget->objectName().contains("name")){
qDebug() << awiget->objectName();
}
}