crossplatform.ru

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

aukolosov
  опции профиля:
сообщение 8.10.2010, 8:47
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 8.10.2010
Пользователь №: 2095

Спасибо сказали: 0 раз(а)




Репутация:   0  


В программе на Qt 4.7.0 под Red Hat Enterprise Linux 5.5 понадобилось реализовать анимацию (вращающаяся картинка). Анимацию сделал в виде отдельного класса унаследованного от QWidget.
Сама анимация работает. Вот только туплю как затолкать ее в отдельный поток, чтобы она не мешала работе основной программы?

Т.е. как сделать, чтобы объект класса унаследованного от QWidget работал в отдельном потоке?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 9.10.2010, 17:45
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Алексей1153 @ 9.10.2010, 17:57) *
что за глупое требование такое... Не верится :)
А придется;)
Это на самом деле так. Со всем что унаследовано от QWidget можно работать только в основном потоке. Перемещать виджеты между потоками нельзя, так же как и создавать их вне основного (gui) потока. Если как то нужно управлять виджетом из другого потока (например прогрессбаром), это делается через сигнал-слот взаимодействие (понятно что слот будет вызван в контексте основного (gui) потока).

Поэтому, так как написал Алексей1153 делать нельзя.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.7.2025, 12:23