Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Dastes от Март 16, 2012, 19:09



Название: Сброс закладки
Отправлено: Dastes от Март 16, 2012, 19:09
Здравствуйте!

Вот пример работы с закладками: http://qt-project.org/doc/qt-4.8/dialogs-tabdialog.html

Если изменить поле в закладке 1, затем перейти на закладку 2, и вернуться на закладку 1, то значение измененного поля сохранится.

Что нужно поменять в коде, что бы содержимое закладок сбрасывалось до дефолтного при переходе на другую закладку?


Название: Re: Сброс закладки
Отправлено: Alex Custov от Март 16, 2012, 19:16
не совсем понятно зачем так делать, но такой функциональности в Qt нет, нужно полностью писать самому.


Название: Re: Сброс закладки
Отправлено: Dastes от Март 16, 2012, 19:26
Нужно реализовать в программе несколько отдельных виджетов, как в Outlook по вкладке меню Переход.

Если пользователь перейдет на другой виджет, то это по логике программы означает, что уже не актуальны совершенные действия, и если он перейдет обратно, то ему придется очищать поля.


Название: Re: Сброс закладки
Отправлено: Bepec от Март 16, 2012, 19:57
Код:
QList<QWidget> list = <ваша вкладка>.findChildrens<QLineEdit*>();
for (int i = 0; i < list.size(); i++)
   list[i].clear();

Очищает все lineEdit' ы на вкладке "Ваша вкладка".

А так проще слот сделать и вызывать его с параметром - номером вкладки.


Название: Re: Сброс закладки
Отправлено: Alex Custov от Март 16, 2012, 20:07
Очищает все lineEdit' ы на вкладке "Ваша вкладка".

А зачем их очищать, автору фактически надо сделать revert.


Название: Re: Сброс закладки
Отправлено: Bepec от Март 16, 2012, 20:11
Кхм. Я вас невполне понимаю.
Revert имеют вроде только классы Model/view, а никак не закладки, не?