crossplatform.ru

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


  Ответ в Update event UI
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Гость_xrc2_* Дата 21.4.2010, 10:13
 
Цитата(Litkevich Yuriy @ 20.4.2010, 23:29) *
хм, ну просто вызови соответствующий метод виджета:
button->setDisabled(bool)
??


Лишь бы ляпнуть?
Ты случаем не истонец?

Ладно проехали тема закрыта!
Litkevich Yuriy Дата 20.4.2010, 23:29
  хм, ну просто вызови соответствующий метод виджета:
button->setDisabled(bool)
??

Цитата(xrc2 @ 21.4.2010, 1:29) *
которые не издают сигналы, а менять измениться могут в любое время?
переменные сами по себе не меняются, их кто-то меняет, кто этот кто-то?
xrc2 Дата 20.4.2010, 21:29
 
Цитата(Litkevich Yuriy @ 20.4.2010, 20:33) *
Цитата(Гость_xrc2_* @ 20.4.2010, 23:22) *
А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке
отвечу в обратном порядке, в Qt почти не используются колбэки, я посидев на Qt, уже в буквальном смысле шарахаюсь, от систем разработки в которых нет слотов/сигналов.

Цитата(Гость_xrc2_* @ 20.4.2010, 23:22) *
Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество).
это делается с помощью слотов и сигналов
connect(checkbox, SIGNAL(checked(bool),
             button, SLOT(setDisabled(bool)));
это ВЕСЬ(!) код

Посмотри учебные пособия



Да нет, дело не в этом...
Хорошо немного изменим задачу:
А если мне захочется изменить состояние кнопки (disable\enable) в зависимости от переменной или от переменных, которые не издают сигналы, а менять измениться могут в любое время?
Litkevich Yuriy Дата 20.4.2010, 20:33
 
Цитата(Гость_xrc2_* @ 20.4.2010, 23:22) *
А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке
отвечу в обратном порядке, в Qt почти не используются колбэки, я посидев на Qt, уже в буквальном смысле шарахаюсь, от систем разработки в которых нет слотов/сигналов.

Цитата(Гость_xrc2_* @ 20.4.2010, 23:22) *
Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество).
это делается с помощью слотов и сигналов
connect(checkbox, SIGNAL(checked(bool),
             button, SLOT(setDisabled(bool)));
это ВЕСЬ(!) код

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

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


Допустим у меня на форме кнопка и чекбокс. Я хочу динамически делать кнопку disable если чекбокс нажат (это просто пример таких элементов может быть множество). В wxWidgets решается это таким образом:
На кнопку регистрируется event аля wxUpdateUIEvent, а в колбэке этого ивента я проверяю нажат ли чекбокс или нет и соответственно делаю disable\enable кноки. А в QT я заметил только такую реализацию: Ставиться QTimer и в колбэке таймера проверяются все элементы которым нужно динамически изменять свойства, в моем случае это кнопка (disable\enable).
Litkevich Yuriy Дата 20.4.2010, 19:01
  нет в 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, 18:47
  У wxWidgets перед тем как рисовать объект библиотека шлет wxUpdateUIEvent в котором можно динамически выставить disable\enable\visible\hide для объекта.
Существует ли такая такая модель в QT?

Просмотрел много кода в QT и заметил что здесь реализация UI свойств делается путем создания таймера, опрашивая каждую единицу времени состояние объекта - это конечно не так уж и плохо, может даже и удобно, но может есть и другие варианты на эту тему?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 2:51