Phonon 在 QGraphicsScene 中不起作用



以下代码

QApplication a(argc, argv);
Phonon::MediaObject *media = new Phonon::MediaObject();
Phonon::VideoWidget *video = new Phonon::VideoWidget(NULL);
video->setGeometry(0, 0, 200, 200);
Phonon::createPath(media, video);
Phonon::MediaSource source("1.avi");
media->setCurrentSource(source);
media->play();
video->show();
return a.exec();

给我看了一段视频。没关系。但是这个:

QApplication a(argc, argv);
QGraphicsScene scene;
Phonon::MediaObject *media = new Phonon::MediaObject();
Phonon::VideoWidget *video = new Phonon::VideoWidget(NULL);
video->setGeometry(0, 0, 200, 200);
Phonon::createPath(media, video);
Phonon::MediaSource source("1.avi");
media->setCurrentSource(source);
media->play();
QGraphicsProxyWidget * pWidget = scene.addWidget(video,Qt::Widget);
QGraphicsView view(&scene);
view.show();
return a.exec();

向我显示了一个白色背景的小部件。。但我的视频在哪里?;)如果我把音频输出连接到媒体,我会听到电影的声音,所以流媒体正在进行。错误在哪里?(问题4.7.0)

QGraphicsScene中显示QWidget相当棘手。有关更多信息,请参阅QGraphicsProxyWidget描述。基本上,您在QGraphicsView中看到的小部件不是真正的小部件。QGraphicsView只是将绘制事件重定向到底层的不可见QWidget。这里似乎不支持视频重定向。

我认为你们不应该把你们的小部件放在场景里。例如,考虑将其放置在图形视图上方。

相关内容

  • 没有找到相关文章

最新更新