crossplatform.ru

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

> 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)

Цитата(Гость_xrc2_* @ 20.4.2010, 22:47) *
заметил что здесь реализация UI свойств делается путем создания таймера,
не понял, что за свойства и какова связь с таймером
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_xrc2_*
сообщение 20.4.2010, 19:22
Сообщение #3





Гости








    


Цитата(Litkevich Yuriy @ 20.4.2010, 19:01) *
Цитата(Гость_xrc2_* @ 20.4.2010, 22:47) *
заметил что здесь реализация UI свойств делается путем создания таймера,

не понял, что за свойства и какова связь с таймером


Допустим у меня на форме кнопка и чекбокс. Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество). В wxWidgets решается это таким образом:
На кнопку регистрируется event аля wxUpdateUIEvent, а в колбэке этого ивента я проверяю нажат ли чекбокс или нет и соответственно делаю disable\enable кноки. А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке таймера проверяются все элементы которым нужно динамически изменять свойства, в моем случае это кнопка (disable\enable).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 28.12.2024, 4:11