Qt 当存在QWebEngineView时,QGraphicsView无法渲染视频
我正在制作一个非常简单的应用程序,它使用QMediaPlayer/QGraphicsVideoItem/qgraphicscene/QGraphicsView播放视频,同时使用QWebEngineView显示网页 但是,当QWebEngineView显示时,仅播放视频的声音。小部件仅显示白色。未调用QWebEngineView的->show()时,视频将正常播放 我试过QVideoWidget。它没有这样的问题 我认为QGraphicsView的呈现可能与QWebEngine的冲突 代码如下:Qt 当存在QWebEngineView时,QGraphicsView无法渲染视频,qt,Qt,我正在制作一个非常简单的应用程序,它使用QMediaPlayer/QGraphicsVideoItem/qgraphicscene/QGraphicsView播放视频,同时使用QWebEngineView显示网页 但是,当QWebEngineView显示时,仅播放视频的声音。小部件仅显示白色。未调用QWebEngineView的->show()时,视频将正常播放 我试过QVideoWidget。它没有这样的问题 我认为QGraphicsView的呈现可能与QWebEngine的冲突 代码如下:
#include "mainwindow.h"
#include <QApplication>
#include <QWebEngineView>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QGraphicsVideoItem>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebEngineView *webview = new QWebEngineView();
QMediaPlayer *player = new QMediaPlayer();
QGraphicsVideoItem *item = new QGraphicsVideoItem;
QVideoWidget *vwid = new QVideoWidget();
QGraphicsView *gview = new QGraphicsView();
player->setMedia(QUrl::fromLocalFile("/home/user/Videos/IMG_6201.MOV"));
//player->setVideoOutput(vwid);
player->setVideoOutput(item);
QGraphicsScene *gscene = new QGraphicsScene();
gview->setScene(gscene);
webview.setUrl(QUrl("https://www.google.com"));
gview->scene()->addItem(item);
//vwid->show();
player->play();
webview->show();
gview->show();
return a.exec();
}
#包括“mainwindow.h”
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QWebEngineView*webview=新的QWebEngineView();
QMediaPlayer*播放器=新的QMediaPlayer();
QGraphicsVideoItem*item=新的QGraphicsVideoItem;
QVideoWidget*vwid=新的QVideoWidget();
QGraphicsView*gview=新的QGraphicsView();
player->setMedia(QUrl::fromLocalFile(“/home/user/Videos/IMG_6201.MOV”);
//播放器->设置视频输出(vwid);
播放器->设置视频输出(项目);
qgraphicscene*gscene=新的qgraphicscene();
gview->setScene(gscene);
webview.setUrl(QUrl(“https://www.google.com"));
gview->scene()->addItem(项目);
//vwid->show();
player->play();
webview->show();
gview->show();
返回a.exec();
}
QGraphicsView能够对任何事物进行仿射变换(例如旋转和缩放)。您不应该期望视频被变换(因为您的硬件或大多数硬件功能不够强大),QGraphicsView能够对任何事物进行仿射变换(例如旋转和缩放)。您不应该期望视频被转换(因为您或大多数硬件的功能不够强大)