![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kalombo |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 5.8.2008 Пользователь №: 252 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хотел найти, как можно отключить кнопку "Next", нашел следующий способ wizard()->button(QWizard::NextButton)->setEnabled(false);
Проблема в том, как сделать, чтобы кнопка была сразу отключена, при появлении страницы QWizardPage, если добавить этот код в конструктор - программа вылетает, если добавить в initializePage - не работает. Использование полей со звездочками (registerField("element*",wig)) тоже не подходит - путаница получается, когда встроенные фукнции отключают кнопку, а когда мои. Как быть? Ну и еще небольшой вопрос, сразу же сюда, зачем нужна функция setField(QString, QVariant), когда её используют? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kalombo |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 5.8.2008 Пользователь №: 252 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
посмотри пример %QTDIR%\examples\dialogs\classwizard Там это реализовано через registerField("outputDir*") поле со звездочкой, мне это не подходит. Объясняю почему. У меня реализован QGroupBox с тремя QRadioButton, в зависимости от того какой выбрали появляются Edit'ы которые надо заполнить, естественно, какие-то из них не должны быть пустыми или даже все должны быть заполнены. Я решил делать это все вручную, если все Edit'ы удовлетворяют условию, то я отображаю кнопку, иначе - прячу. А вот в самом начале нужно сразу спрятать её, но сделать этого не получается, выше уже написал про мои попытки, ну не через MouseMove её прятать в самом деле же(. Прокатил бы вариант с registerField, если бы была функция unregisterField, но вроде подобной нету. Цитата This function can be used to set fields on any page of the wizard. Я читал, просто не совсем ясно, эта функция нужна для того, чтобы просто изменить значение для которого уже сделали registerField? Или есть другие варианты использования? Я пробовал на первой странице сделать setField("test","Hello"); // Поле test не было зарегистрировано, а на последующих страницах пробовал это поле прочитать, получал пустую строку. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 9.6.2025, 19:26 |