crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 10:21