Russian Qt Forum
Ноябрь 23, 2024, 07:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Обращение к графическому интерфейсу из другого потока  (Прочитано 4241 раз)
Valter
Гость
« : Декабрь 25, 2012, 13:00 »

Как я понимаю, в Qt так делать нельзя, ошибка возникает:

Как принято в Qt поступать в таких случаях?
Записан
mutineer
Гость
« Ответ #1 : Декабрь 25, 2012, 13:02 »

Переносить обращения к ГУЯм в основной поток
Записан
Bepec
Гость
« Ответ #2 : Декабрь 25, 2012, 13:23 »

Правильно мыслишь, Valter.
Так в Qt делать нельзя. А можно сделать проще - создать слот в гуи классе, который будет производить нужные действия. И вызывать его.
Записан
Dancing_on_water
Гость
« Ответ #3 : Декабрь 26, 2012, 08:53 »

Не совсем так. Да, все элементы гуя должны жить в основном потоке (это ограничение Х-сервера, под которое приходится подстраиваться). Но, если элемент еще не отрисован, то вполне допустимо, чтоб его элементы менялись напрямую из другого потока.
Если уже отрисован, то как посоветовали: делаешь слот и соединяешь через queue.
Записан
Bepec
Гость
« Ответ #4 : Декабрь 26, 2012, 08:59 »

Dancing_on_water - ГУИ такая штука, что промежуток между "отрисовкой" и "не отрисовкой" обычно ничтожно малый. Улыбающийся Потому лучше использовать слоты.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 21.