我在Windows7平台上使用Qt5 使用QtCreator我创建了以下QDialog:
目前,QCheckBox
'和QTimeEdit
分别为:
- for Monday: checkBoxOpen1 and checkBoxClose1
- for Monday: timeOpen1 and timeClose1
- ...
- for Sunday: checkBoxOpen7 and checkBoxClose7
- for Sunday: timeOpen7 and timeClose7
此QDialog界面中的所有对象都类似 使用它非常困难(获取/设置这些对象的属性/值很麻烦......)
所以,问题是:有没有办法为QDialog接口中的所有类似对象提供一些索引访问? (我希望能够以某种方式保留QtDesigner提供的设施...)
答案 0 :(得分:1)
创建窗口小部件时,可以使用以下命令设置其名称:
void setObjectName(const QString & name)
假设您的所有小部件父级都是p
,那么您可以使用:
QList<QWidget*> widgets = p.findChildren<QWidget*>("widgetname");
如果您想获得所有QPushButton
,请使用:
QList<QPushButton*> widgets = p.findChildren<QPushButton*>();