![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
deex |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ситуация такая
есть основной класс MainWindow он содержит все виджеты и рисует главное окно в одном из слотов он создает внешний класс Outer, и передает в его метод ссылку на свой QLabel этот внешний класс меняет текст QLabel-а: label->setText('custom text'); Проблема заключается в том, что текст меняется лишь тогда, когда метод класса Outer заканчивает свою работу. Скажите пожалуйста, есть ли возможность обновить QLabel несколько раз по ходу работы метода Outer-класса? пробовал label->update(); не помогло получилось с repaint(); это правильный способ? |
|
|
![]() |
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Не очень красивое решение с точки зрения архитектуры.
IMHO лучше пусть объект класса Outer посылает сигнал о том, что его состояние изменилось, а уже в слоте, который может располагаться в класса MainWindow, менять значение QLabel. Насчет обновления QLabel в процессе работы метода, нужно крутить цикл обработки событий. Например, в цикле этого метода вызывать:
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.7.2025, 12:05 |