PDA

View Full Version : QGLWidget makes QGraphicswebview html5 video display failed



jeffwang
3rd March 2012, 09:46
Hi,

I am working on a html5 project. Qt announced QGraphicswebview has better css performance than qwebview because of qglwidget as hardware acceleration. I wrote a few testing code but I only can get audieo but no video showing on web page when I set viewport to qglwidget. If commencing setviewport, which means just qwidget as viewport, video can be displayed correctly.

Anyone knows the reason?

GraphicsView::GraphicsView(QWidget *parent)
: QGraphicsView(parent)
,m_scene(new QGraphicsScene)
{
setViewportUpdateMode(QGraphicsView::FullViewportU pdate);
setOptimizationFlags(QGraphicsView::DontSavePainte rState);
setFrameShape(QFrame::NoFrame);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

m_renderWidget = new QGLWidget(format);
this->setViewport(m_renderWidget);

m_webview = new QGraphicsWebView;
QWebSettings *ws = m_webview->settings();
ws->setAttribute(QWebSettings::WebGLEnabled, true);
ws->setAttribute(QWebSettings::AcceleratedCompositingE nabled, true);
ws->setAttribute(QWebSettings::PluginsEnabled, true);
connect(m_webview, SIGNAL(loadFinished(bool)), this, SLOT(resizeWebViewToFrame()));
m_webview->setUrl(QUrl("http://html5video.org"));
m_webview->page()->setView(m_renderWidget);
m_scene->addItem(m_webview);
setScene(m_scene);
}