QWizard, динамическое построение списка страниц |
Здравствуйте, гость ( Вход | Регистрация )
QWizard, динамическое построение списка страниц |
FladeX |
21.3.2009, 14:22
Сообщение
#11
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Уже что-то, спасибо!
Допустим есть конструкция вида
Как оттуда узнать состояния чекбоксов (напоминаю, что они на первой странице визарда расположены)? |
|
|
Litkevich Yuriy |
21.3.2009, 19:13
Сообщение
#12
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
узнать состояния чекбоксов насколько я помню, в мастерах Qt есть понятие "полей", и используется манипуляция с полями, а не с виджетами, т.е. ты их должен создавать/инициализировать/изменять. Поля видны на всех страницах мастера.П.С. с терминами могу ошибаться Пример, хоть и на аглицком |
|
|
FladeX |
21.3.2009, 21:57
Сообщение
#13
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, вроде именно то что надо.
Только вот не компилиться теперь:
Это что за ошибка такая? |
|
|
Litkevich Yuriy |
21.3.2009, 22:16
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Это что за ошибка такая? moc_expertsystem.o возможно ты добавил где-то макрос Q_OBJECT, а qmake при этом не вызывал. Либо объявление класса и его реализацию поместил в один файл неподключив соответсявующий, автоматически создаваемый, файл (в твоем случае moc_expertsystem.cpp)
|
|
|
kalombo |
22.3.2009, 10:13
Сообщение
#15
|
Студент Группа: Участник Сообщений: 37 Регистрация: 5.8.2008 Пользователь №: 252 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вклинюсь сюда тоже со своим вопросом, надеюсь никому не помешаю. Вопрос такой. Создал я значит свой класс производный от QWizard, для него сделал несколько страниц производных от класс QWizardPage. И вот на одной из страниц у меня есть QTableWIdget, как к нему обращаться с других страниц к примеру? В моем случае мне надо обращаться к этому виджету в методе класса QWizard::accept(), что позволило мне решить проблему следующим образом. Я создал для страницы на которой QTableWidget паблик метод, возвращающий ссылку на этот виджет и потом в классе QWizard вызываю этот метод. Такой способ решения мне кажется не очень красивым, а как с другой страницы получить доступ к этому виджету вообще непонятно.
|
|
|
SABROG |
22.3.2009, 11:32
Сообщение
#16
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Полагаю, что одним из этих методов:
Вообще в QWizardPage есть методы registerField() и field(). Это глобальные методы, если ты регистрируешь свое поле, то оно доступно через метод field() из любой страницы, загвоздка в том, что это работает только на следующие поля-классы: Цитата QAbstractButton QAbstractSlider QComboBox QDateTimeEdit QLineEdit QListWidget QSpinBox Есть еще метод QWizard::setDefaultProperty(), который позволяет расширить список классов. Например:
По идее любому своему объекту (QObject) можно добавлять динамические свойства и получать их из любой страницы. На самом деле это эквивалентно такому:
Но это в теории, сам я с этим классом никогда не работал. Сообщение отредактировал SABROG - 22.3.2009, 12:44 |
|
|
FladeX |
25.3.2009, 13:07
Сообщение
#17
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
То есть для чекбоксов получается так:
И потом обращаться как:
Но не получается ( |
|
|
SABROG |
25.3.2009, 15:00
Сообщение
#18
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
FladeX |
3.4.2009, 16:05
Сообщение
#19
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
То есть получается что для чекбоксов registerField вообще не подходит?
А с setProperty так и не разобрался, как их использовать в случае чекбоксов... |
|
|
FladeX |
14.5.2009, 11:07
Сообщение
#20
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Подскажите что можно сделать с чекбоксами
На первой странице несколько чекбоксов, каждый из которых соответсвует одной странице. При checked страница будет доступна в визарде, при !checked не будет. >_< |
|
|
Текстовая версия | Сейчас: 9.1.2025, 18:38 |