Update event UI, from wxWidgets to QT |
Здравствуйте, гость ( Вход | Регистрация )
Update event UI, from wxWidgets to QT |
Гость_xrc2_* |
20.4.2010, 18:47
Сообщение
#1
|
Гости |
У wxWidgets перед тем как рисовать объект библиотека шлет wxUpdateUIEvent в котором можно динамически выставить disable\enable\visible\hide для объекта.
Существует ли такая такая модель в QT? Просмотрел много кода в QT и заметил что здесь реализация UI свойств делается путем создания таймера, опрашивая каждую единицу времени состояние объекта - это конечно не так уж и плохо, может даже и удобно, но может есть и другие варианты на эту тему? |
|
|
Litkevich Yuriy |
20.4.2010, 19:01
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
нет в Qt нет никакого упреждающего события. А просто событие рисования:
QWidget::paintEvent(), реализация конкретного наследника этого базового виджета (визуального компонента) в этом методе осуществляет рисование на "устройстве рисования (QPaintDevice)" c помощью QPianter'а Установку состояний виджета можно производить в любое время методами: QWidget::show() QWidget::hide() QWidget::setEnabled(bool) QWidget::setDisabled(bool) заметил что здесь реализация UI свойств делается путем создания таймера, не понял, что за свойства и какова связь с таймером
|
|
|
Гость_xrc2_* |
20.4.2010, 19:22
Сообщение
#3
|
Гости |
заметил что здесь реализация UI свойств делается путем создания таймера, не понял, что за свойства и какова связь с таймером Допустим у меня на форме кнопка и чекбокс. Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество). В wxWidgets решается это таким образом: На кнопку регистрируется event аля wxUpdateUIEvent, а в колбэке этого ивента я проверяю нажат ли чекбокс или нет и соответственно делаю disable\enable кноки. А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке таймера проверяются все элементы которым нужно динамически изменять свойства, в моем случае это кнопка (disable\enable). |
|
|
Текстовая версия | Сейчас: 28.12.2024, 4:11 |