c++ - QWidget findChildren when objectname contains a specific string

标签 c++ qt find qwidget

如何列出对象名称中包含特定字符串的 qwidget 中的所有子项?

例如,如果我有:

 "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”的所有子项的另一个列表。谢谢!

最佳答案

有一个像这样的简单函数:

QList<QWidget *> widgets(QWidget * parent, QString search)
{
    QRegularExpression exp(search);
    return parent->findChildren<QWidget *>(exp);
}

给定一个QWidget * widget,你可以这样调用它:

auto name_list = widgets(widget, "name");
auto id_list = widgets(widget, "id");

关于c++ - QWidget findChildren when objectname contains a specific string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50272536/

相关文章:

Qt 工作 Windows 8 风格的无框自定义窗口

c++ - MongoDB适用于日志分析项目

c++ - 比较 int 的正向和反向循环,其中一个限制为 0

c++ - 对函数 c 的 undefined reference

c++ - boolean 函数不能正常工作

qt - 关闭 QCoreApplication 的正确方法

c++ - 用于在字符串中查找字符序列的预构建函数?

Bash 别名查询

Javascript array.find() 回调将对象覆盖为全局数组

c++ - Arduino串口库有跨平台 "port"吗?