Название: Не могу получить сигнал от videoWidget в Фонон плеер если он в Фул скрин режиме Отправлено: Max Payne от Сентябрь 10, 2010, 01:57 После открытия моего плеера на весь екран, пытаюсь словить через keyReleaseEvent (QKeyEvent *) который я переопределил в основном класе, нажатие кнопки клавиатуры и ничего не получаю... Подскажие в чем запара... После открытия в фул скрине Управление остаеться у ОСновного окна или передаеться ВидеоВиджету плеера?
И Если да то походу нужно переопределять keyReleaseEvent (QKeyEvent *) Видео виджета, так ? Название: Re: Не могу получить сигнал от videoWidget в Фонон плеер если он в Фул скрин режиме Отправлено: Denjs от Сентябрь 10, 2010, 08:12 гм... не знаю что у вас там происходит... но попробуйте QObject::installEventFilter ( QObject * filterObj ) на qApp (qapplication::instance())
или аналогично на ваш фононовский виджет .... столкнулся с тем, что события некоторых типов окон могут то-ли идти в обход qApp то-ли ещё как... но фильтр установленный на qАpp может не срабатывать на события направленные к данным окнам/виджетам. Название: Re: Не могу получить сигнал от videoWidget в Фонон плеер если он в Фул скрин режиме Отправлено: Max Payne от Сентябрь 13, 2010, 01:33 Все равно не получаеться, при открытии на весь экран события вообще не обрабатываются, Не работает брэкпоинт ни на changeEvent(QEvent*) основного класса ни на переопределенной функции void Madia::keyReleaseEvent(QKeyEvent *ev), Просто не обрабатываються события функцией основного класса
Название: Re: Не могу получить сигнал от videoWidget в Фонон плеер если он в Фул скрин режиме Отправлено: Max Payne от Сентябрь 23, 2010, 19:07 Все разобрался... Переопределил
Код: bool MyClass ::eventFilter(QObject *obj, QEvent *event) { if (obj == play->videoWidget()) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); if ((keyEvent->key () == Qt::Key_1)) { qDebug() << "sfsesef - - - - " << keyEvent->key(); play->videoWidget()->setFullScreen(false); fuul_sc_pl = false; } // if ((keyEvent->key () == Qt::Key_1)&&(fuul_sc_pl==false)) // { // qDebug() << "sfsesef - - - - " << keyEvent->key(); // play->videoWidget()->setFullScreen(true); // fuul_sc_pl = true; // } return true; } else { return false; } } else { // pass the event on to the parent class return DemAstPro::eventFilter(obj, event); } } Код: |