QT 遍历获取Form上的控件

//遍历所有ui
QObjectList getAllUIControls(QObject* parent)
{
    QObjectList lstOfChildren, lstTemp;
    if (parent)
    {
        lstOfChildren = parent->children();
    }
    if (lstOfChildren.isEmpty())
    {
        return lstOfChildren;
    }
    lstTemp = lstOfChildren;                   /*  这里要注意,如果不拷贝原先的list,直接使用,会有问题; */
    foreach(QObject* obj, lstTemp)
    {
        QObjectList lst = getAllUIControls(obj);
        if (!lst.isEmpty())
        {
            lstOfChildren.append(lst);
        }
    }
    return lstOfChildren;
}
posted @ 2020-09-08 11:56  黑贝是条狗  阅读(1378)  评论(0编辑  收藏  举报