我正在尝试让我所有的QLineEdit(大约有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
是所有QLineEdit的父控件。只需将其更改为您自己的控件即可。QLineEdit
并在其构造函数中调用setReadOnly(true)
。现在,你创建自定义MyQLineEdit
对象而不是QLineEdit
对象。如果需要动态更改此属性,则可能只能将所有引用存储在某个数组中,并遍历该数组以切换此属性。