Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Phonon::VideoPlayer drag-and-drop problem, Phonon - глушит перетаскивание на форме 
V
    Опции темы
franzR
Дата 12.8.2011, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



Доброе время суток!

У меня такая ситуация:

- есть форма, в секции protected описаны методы drag-and-drop;

.h
Код

protected:
    void dragEnterEvent(QDragEnterEvent *event);
    void dragMoveEvent(QDragMoveEvent *event);
    void dropEvent(QDropEvent *event);
    void mousePressEvent(QMouseEvent *event);
    bool eventFilter(QObject *obj, QEvent *event);


- в .cpp файле обработчики, которые реагируют на перетаскивания мыши, а внутри их  я уже определяю что и куда можно бросить;

- перетаскивание идет с QTreeView расположенного тоже на форме, там отображено дерево файловой системы;

Суть проблемы:

при добавлении в конструктор формы строчек:

Код

player = new Phonon::VideoPlayer(Phonon::VideoCategory);
player->setParent(ui->lblVideo,Qt::Widget);


Все мое перетаскивание ложится на лопатки. Перестают работать события dragEnterEvent, dragMoveEvent, dropEvent которые прописаны для формы, а в них реализованы мои алгоритмы. 
Каким то образом объект Phonon забирает на себя эти события перетаскивания и вот как мне их вернуть теперь родительскому виджету?

Самое интересное что если строчку 
Код

player->setParent(ui->lblVideo,Qt::Widget);
 вынести за пределы конструктора формы, то прежняя работа перетаскивания возобновляется. Но при этом пропадает изображение при проигрывании видео, а звук остается работоспособным.

Подскажите как можно вылечить проблему.

PM MAIL   Вверх
franzR
Дата 14.8.2011, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.10.2009

Репутация: нет
Всего: нет



Проблему решил сам. Тему можно закрыть.

Кому интересно решение оказалось простым.

1. Выбросил из использования Phonon::VideoPlayer.
2. Использовал Phonon::MediaObject
Код

mediaObject = new Phonon::MediaObject(this);

videoWidget = new Phonon::VideoWidget();
Phonon::createPath(mediaObject, videoWidget);

audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory, this);
Phonon::createPath(mediaObject, audioOutput);

mediaObject->setCurrentSource(Phonon::MediaSource("D:\\MEDIA\\Clip\\Kipelov.avi"));



3. При запуске видео уже в другом обработчике  videoWidget->setParent(this)

Корректная работа перетаскивания возобновилась.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.