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). |
|
|
Litkevich Yuriy |
20.4.2010, 20:33
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке отвечу в обратном порядке, в Qt почти не используются колбэки, я посидев на Qt, уже в буквальном смысле шарахаюсь, от систем разработки в которых нет слотов/сигналов.Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество). это делается с помощью слотов и сигналов это ВЕСЬ(!) кодПосмотри учебные пособия |
|
|
xrc2 |
20.4.2010, 21:29
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 20.4.2010 Пользователь №: 1645 Спасибо сказали: 0 раз(а) Репутация: 0 |
А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке отвечу в обратном порядке, в Qt почти не используются колбэки, я посидев на Qt, уже в буквальном смысле шарахаюсь, от систем разработки в которых нет слотов/сигналов.Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество). это делается с помощью слотов и сигналов это ВЕСЬ(!) кодПосмотри учебные пособия Да нет, дело не в этом... Хорошо немного изменим задачу: А если мне захочется изменить состояние кнопки (disable\enable) в зависимости от переменной или от переменных, которые не издают сигналы, а менять измениться могут в любое время? |
|
|
Litkevich Yuriy |
20.4.2010, 23:29
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Гость_Гость_xrc2_*_* |
21.4.2010, 10:13
Сообщение
#7
|
Гости |
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 11:28 |