crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

kalombo
  опции профиля:
сообщение 18.11.2008, 19:37
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 5.8.2008
Пользователь №: 252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Хотел найти, как можно отключить кнопку "Next", нашел следующий способ wizard()->button(QWizard::NextButton)->setEnabled(false);
Проблема в том, как сделать, чтобы кнопка была сразу отключена, при появлении страницы QWizardPage, если добавить этот код в конструктор - программа вылетает, если добавить в initializePage - не работает. Использование полей со звездочками (registerField("element*",wig)) тоже не подходит - путаница получается, когда встроенные фукнции отключают кнопку, а когда мои. Как быть?

Ну и еще небольшой вопрос, сразу же сюда, зачем нужна функция setField(QString, QVariant), когда её используют?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 18.11.2008, 20:12
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kalombo @ 18.11.2008, 22:37) *
Проблема в том, как сделать, чтобы кнопка была сразу отключена,
посмотри пример %QTDIR%\examples\dialogs\classwizard

Цитата(kalombo @ 18.11.2008, 22:37) *
зачем нужна функция setField
Цитата
This function can be used to set fields on any page of the wizard.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kalombo
  опции профиля:
сообщение 18.11.2008, 20:43
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 5.8.2008
Пользователь №: 252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 18.11.2008, 21:12) *
посмотри пример %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 не было зарегистрировано, а на последующих страницах пробовал это поле прочитать, получал пустую строку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 9.6.2025, 19:26