我正在尝试使我的所有QLineEdits(我大约有150个)都是只读的,有没有一种方法可以进行而不需要逐个设置每个设置?我希望可以在构造函数中执行类似QLineEdit::setReadOnly(true);
的操作,但是我收到一个编译器错误,指出它是对非静态成员函数的非法调用。
先感谢您!
最佳答案
使用QObject::findChildren()
,像这样:
QList<QLineEdit*> l_lineEdits = ui->frame->findChildren<QLineEdit*>();
foreach (QLineEdit* l_lineEdit, l_lineEdits) {
l_lineEdit->setReadOnly(true);
}
在此示例中,
ui->frame
是所有QLineEdits的父窗口小部件。只需将其更改为您的。