Название: Прошу совета по QTread Отправлено: Larry от Апрель 01, 2011, 10:03 Добрый день, форумчане! Хотел бы попросить у Вас совета, как правильно решить следующую задачу: есть qmainwindow на котором расположена сцена QGraphicsScene. На сцену выводится видео через phonon и бегущая строка(QLabel). И конечно все это тормозит :). Подскажите пожалуйста, как реализовать, чтобы бегущая строка работала в другом потоке и не было тормозов...заранее спасибо.
Название: Re: Прошу совета по QTread Отправлено: RedDog от Апрель 01, 2011, 10:11 Из дочернего в главный слать сигналы, а в главном их уже обрабатывать
Название: Re: Прошу совета по QTread Отправлено: Larry от Апрель 01, 2011, 10:22 А можно поподробней...я с потоками ни разу не работал, но очень надо решить эту проблему. Я понимаю так, что надо наследовать QThread и переопределить метод run() и в этом классе создать QLabel(бегущую строку). А как ее тогда наложить на видео?До этого я налаживал через QGraphicsProxyWidget... А как теперь быть? И какие слать сигналы...
Название: Re: Прошу совета по QTread Отправлено: RedDog от Апрель 01, 2011, 10:26 QLabel создавать в основном потоке, а в методе run() дочернего только обрабатывать информацию и слать сигнал в основной, в котором отлавливать этот сигнал и выводить в QLabel нужные данные.
Название: Re: Прошу совета по QTread Отправлено: Larry от Апрель 01, 2011, 10:35 у меня бегущая строка работает по таймеру...когда срабатывает таймер, то происходит проверка границ и если все нормально сдвигается строка в ту или иную сторону на один пиксел и после происходит перерисовка. Строка выводится в перегруженном paintEvent и обновление ее происходит по QLabel::update(). Тормоза происходят при перерисовке? Тогда если перерисовка там же и останется, то тормоза останутся...или я чего-то не понимаю?
Название: Re: Прошу совета по QTread Отправлено: Larry от Апрель 01, 2011, 11:26 а какие варианты еще есть? Объясните пожалуйста, может я говорю чушь? Мне надо убрать тормоза бегущей строки....
|