QT4 QWebview显示视频一片黑

单单单单点 2017-06-30 10:54:52
QT4 QWebview显示视频一片黑,小白求大神指点,网上没找到解决方案,代码如下

QWebSettings *settings = QWebSettings::globalSettings();
settings->setAttribute(QWebSettings::PluginsEnabled,true);
settings->setAttribute(QWebSettings::JavaEnabled,true);
settings->setAttribute(QWebSettings::JavascriptEnabled,true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows,true);
settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard,true);
settings->setAttribute(QWebSettings::DeveloperExtrasEnabled,true);
settings->setAttribute(QWebSettings::SpatialNavigationEnabled,true);
settings->setAttribute(QWebSettings::LinksIncludedInFocusChain,true);
settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled,true);
settings->setAttribute(QWebSettings::AutoLoadImages,true);

// ui->webView->load(QUrl("http://v.qq.com/cover/1/1l62pv50l5qzt1e.html?vid=z0126s1lazw"));//webview加载地址
QFile h("D:/QTproject/Car/video.html");
h.open(QIODevice::ReadOnly);
if(h.error() == QFile::OpenError)
{
qDebug("ss","sss");
}
ui->webView->setHtml(QString::fromUtf8(h.readAll().constData()));

h.close();
ui->webView->show();

我的html文件在网页中是这样的


在程序中是这样的

...全文
563 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
单单单单点 2017-07-28
  • 打赏
  • 举报
回复
问题已经解决,QWebview无法解析mjpg-streamer的视频流,最后我用QLabel逐帧显示静态图片
单单单单点 2017-07-02
  • 打赏
  • 举报
回复
void MainWindow::PicConnect(QString PicUrl) { //connect to picture QNetworkAccessManager *manager; manager = new QNetworkAccessManager(this); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(slot_replyFinished(QNetworkReply*))); QNetworkRequest request; request.setUrl(QUrl(PicUrl)); manager->get(request); delete & manager; } void MainWindow::slot_replyFinished(QNetworkReply* reply) { //save the picture QPixmap pix; QByteArray data = reply->readAll(); pix.loadFromData(data, "JPG"); pix.save("D:/QTproject/Car/tmp1.jpg", "JPG", 100); } void MainWindow::ShowPic() { isPicOnLabel=true; QString PU = "http://"+this->serverAddress+":8080/?action=snapshot"; while(1) { PicConnect(PU); if(isPicOnLabel==false) break; QEventLoop eventloop; QTimer::singleShot(60, &eventloop, SLOT(quit()));//60帧左右 eventloop.exec(); if(! ( img.load("D:/QTproject/Car/tmp1.jpg") ) ) //加载图像 { QMessageBox::information(this, "error", "open error"); return; } scaledimg=img.scaled(320,240,Qt::KeepAspectRatio); ui->PicLabel->setPixmap(QPixmap::fromImage(scaledimg)); } } void MainWindow::StopPic() { isPicOnLabel=false; } 这是我显示视频流的代码,运行起来一段时间没问题,但是一段时间过后,就会报错QThread::start: Failed to create thread (????????Ч??),我也没进行线程操作啊...求大神解答一下
单单单单点 2017-07-02
  • 打赏
  • 举报
回复
是啊,所以我今天刚改了,不用webview了,我改用label来显示图片,抓取静态图片 一帧一帧的播放,效果还蛮不错的
feiyangqingyun 2017-07-02
  • 打赏
  • 举报
回复
QWebview是早期是webkit内核,从5.5之后换成了谷歌的浏览器内核,都不支持active插件,你必须用IE浏览器打开才行!
xqhrs232 2017-07-01
  • 打赏
  • 举报
回复
看起来不错的东西

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧