下面的代码
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();显示了一个白色背景的小部件。但是我的视频在哪里?;)如果我将音频输出连接到媒体,我会听到电影的声音,所以流正在进行。错误在哪里?(Qt 4.7.0)
发布于 2013-06-28 21:11:39
在QGraphicsScene中显示QWidget是相当棘手的。有关详细信息,请参阅QGraphicsProxyWidget说明。基本上,您在QGraphicsView中看到的小部件不是真正的小部件。QGraphicsView只是将绘制事件重定向到底层不可见的QWidget。这里似乎不支持视频跳转。
我认为你不应该把你的小工具放在场景里。例如,考虑将其放置在图形视图的上方。
https://stackoverflow.com/questions/17364795
复制相似问题