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