У меня есть форма с fiels, комбо и т.д. Я хотел бы перейти через все виджеты на форме и если, например, это текстовое поле, ясно, что, что-то вроде этого:Qt: как очистить поля формы?
foreach(QObject *child, this->ui->children())
{
QLineEdit *txtField = qobject_cast<QLineEdit *>(child);
if (txtField)
{
txtField->clear();
}
}
Проблема заключается в Объект ui не имеет такого свойства, как дети, и я не знаю, как получить всю коллекцию детских виджетов.
Возможно, объект формы имеет что-то вроде метода Clear. Это было бы лучше.
Благодаря
Да, это сработало для меня, спасибо! Но мне пришлось удалить setupUi-код, потому что у формы есть некоторые странные дополнительные виджеты внутри. Полагаю, мне это не нужно, потому что этот метод был вызван раньше. – mimic
Код 'setupUi' на самом деле не существует ... Не имеет смысла очищать форму сразу после инициализации - и вызов setupUi более одного раза может привести к утечке памяти. –
@ TomášZato Я согласен. Я не уверен, почему я его там положил. Может быть, сказать, что его нужно называть где-то раньше. – wrongite