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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Прошу совета по QTread  (Прочитано 3674 раз)
Larry
Гость
« : Апрель 01, 2011, 10:03 »

Добрый день, форумчане! Хотел бы попросить у Вас совета, как правильно решить следующую задачу: есть qmainwindow на котором расположена сцена QGraphicsScene. На сцену выводится видео через phonon и бегущая строка(QLabel). И конечно все это тормозит Улыбающийся. Подскажите пожалуйста, как реализовать, чтобы бегущая строка работала в другом потоке и не было тормозов...заранее спасибо.
Записан
RedDog
Гость
« Ответ #1 : Апрель 01, 2011, 10:11 »

Из дочернего в главный слать сигналы, а в главном их уже обрабатывать
Записан
Larry
Гость
« Ответ #2 : Апрель 01, 2011, 10:22 »

А можно поподробней...я с потоками ни разу не работал, но очень надо решить эту проблему. Я понимаю так, что надо наследовать QThread и переопределить метод run() и в этом классе создать QLabel(бегущую строку). А как ее тогда наложить на видео?До этого я налаживал через QGraphicsProxyWidget... А как теперь быть? И какие слать сигналы...
Записан
RedDog
Гость
« Ответ #3 : Апрель 01, 2011, 10:26 »

QLabel создавать в основном потоке, а в методе run() дочернего только обрабатывать информацию и слать сигнал в основной, в котором отлавливать этот сигнал и выводить в QLabel нужные данные.
Записан
Larry
Гость
« Ответ #4 : Апрель 01, 2011, 10:35 »

у меня бегущая строка работает по таймеру...когда срабатывает таймер, то происходит проверка границ и если все нормально сдвигается строка в ту или иную сторону на один пиксел и после происходит перерисовка. Строка выводится в перегруженном paintEvent и обновление ее происходит по QLabel::update(). Тормоза происходят при перерисовке? Тогда если перерисовка там же и останется, то тормоза останутся...или я чего-то не понимаю?
Записан
Larry
Гость
« Ответ #5 : Апрель 01, 2011, 11:26 »

а какие варианты еще есть? Объясните пожалуйста, может я говорю чушь? Мне надо убрать тормоза бегущей строки....
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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