• 4291阅读
  • 4回复

[提问]有根据对象名来查找对象的方法么? [复制链接]

上一主题 下一主题
离线纵刀少年
 

只看楼主 倒序阅读 楼主  发表于: 2014-10-17
就是像在我有一大堆的checkbox,我在ui文件中把显示文本都改好了,现在想用for循环遍历这些checkbox,checkbox对象的命名是按checkbox、checkbox_2,checkbox_3........这样排下来
离线realfan

只看该作者 1楼 发表于: 2014-10-17
比如你要找checkbox_2,可以这样写

QCheckBox * p = parentWidget->findChild<QCheckBox *>("checkbox_2");
离线lzh280

只看该作者 2楼 发表于: 2014-10-17
  1. 类似这样:
  2.     QLineEdit *le;
  3.     QObjectList list = groupBox->children();
  4.     foreach (QObject *obj, list) {
  5.         if (QString(obj->metaObject()->className()) == "QLineEdit") {
  6.             le = qobject_cast<QLineEdit*>(obj);
  7.             if (le) {
  8.                 //TODO
  9.             }
  10.         }
  11.     }


离线纵刀少年

只看该作者 3楼 发表于: 2014-10-17
自问自答~~~
QList<QCheckBox *> checkboxList = ui->checkBox->parent()->findChildren<QCheckBox *>();
离线纵刀少年

只看该作者 4楼 发表于: 2014-10-17
回 realfan 的帖子
realfan:比如你要找checkbox_2,可以这样写
QCheckBox * p = parentWidget->findChild<QCheckBox *>("checkbox_2"); (2014-10-17 09:37) 

OK
快速回复
限100 字节
 
上一个 下一个