Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: core от Март 20, 2011, 15:23



Название: Resize видео-окна
Отправлено: core от Март 20, 2011, 15:23
Есть несколько вопросов. Начну с того, что в заголовке темы.
Из Главного виджета MainWindow передаю сигналом в новое окно обьект Phonon::VideoPlayer. В новом окне все отлично проигрывается, но хочу сделать, чтоб при смене размера окна видео автоматически растягивалось  на всю область виджета. Пробовал шаманить с AspectRatio и ScaleMode  но ничего не получилось, програма постоянно вылетает при изменении етих свойств обьекта. Потому попрошу рабочий пример мб у кого есть, или знает как правильно переписать resizeEvent виджета, что б Phonon::VidePlayer в нем изменял размеры пропорционально окну.

Вопрос №2. SeekSlider и VolumeSlider находятся в MainWindow. Phonon::VideoPlayer как уже говорилось - в другом виджете. Мне нужно прокручивать видео и зименять громкость видео. Делаю так - в KeyPressEvent нового виджета перехваываю нажатие кнопки event->key - if (event->key==Qt::Key_Right) emit PlaySignal(0). в MainWindow сигнал обрабатівает слот, в котором нужно описать емуляцию нажатия клавиши на seekslider. ПРобоваал так -

Код:
QKeyEvent x=new QKeyEvent (QEvent::KeyPress, Qt::Key_Right); 
seekslider->keyPressEvent(x);
но keypressevent виртуальная и доступа нет. переопределаять? вообщем, тоже нужно как-то выкрутится.

Вопрос №3.
Как перехватить момент закрытия окна? Тоисть момент клика по крестику в углу.



Название: Re: Resize видео-окна
Отправлено: JamS007 от Март 20, 2011, 22:03
3) virtual void    closeEvent ( QCloseEvent * event ), не?


Название: Re: Resize видео-окна
Отправлено: core от Март 20, 2011, 22:36
Да оно, спс. Остаются открытыми первых два вопроса


Название: Re: Resize видео-окна
Отправлено: core от Март 21, 2011, 00:35
Еще один вопрос снят. Для управления громкостю и позицией в видео вовсе не надо обращаться к обьектам seekslider и volumeslider. Все можно делать работая с видеообьектом. Тоисть, videoplayer::volume и videoplayer::setvolume для громкости, и videoplayer::currenttime(), videoplayer::seek для перемотки по позиции. Остался вопрос о ресайзе видео вместе с виджетом


Название: Re: Resize видео-окна
Отправлено: core от Март 27, 2011, 16:52
Из Главного виджета MainWindow передаю сигналом в новое окно обьект Phonon::VideoPlayer. В новом окне все отлично проигрывается, но хочу сделать, чтоб при смене размера окна видео автоматически растягивалось  на всю область виджета. Пробовал шаманить с AspectRatio и ScaleMode  но ничего не получилось, програма постоянно вылетает при изменении етих свойств обьекта. Потому попрошу рабочий пример мб у кого есть, или знает как правильно переписать resizeEvent виджета, что б Phonon::VidePlayer в нем изменял размеры пропорционально окну.


Название: Re: Resize видео-окна
Отправлено: Larry от Март 30, 2011, 20:48
Как раз пару дней назад с тем же встретился...Помогло
Код:
 void QObject::installEventFilter (QObject * filterObj)