在Qt中如何加载flash
来源:互联网 发布:微信唤醒淘宝api接口 编辑:程序博客网 时间:2024/05/17 20:01
【转自】:http://www.dujinfang.com/past/2010/9/2/qt-zhong-jia-zai-flash/
加载 Flash当然需要 webkit 了,我就在 UI 上放了一个 webView。
以下代码让 webView 支持 plugin。
QWebSettings *settings = ui->webView->settings();
settings->setAttribute(QWebSettings::PluginsEnabled, true);
或者直接设成全局的也行:
QWebSettings *websetting= QWebSettings::globalSettings();
websetting->setAttribute(QWebSettings::JavascriptEnabled,true);
websetting->setAttribute(QWebSettings::PluginsEnabled,true);
加载 Flash 就简单了,其实就一行,可怜我在64位的环境下折腾了半天:
ui->webView->load(QUrl("http://blah.swf"));
我要加载的 Flash 是带参数的,据说可以这样用:
ui->webView->load(QUrl("http://blah.swf?a=b&c=d"));
优雅起见,还可以使用 FlashVars,因此写了一个JS:
var t = '<embed src="' + url + '" ';
t += 'quality="high" bgcolor="" wmode="opaque" ';
t += 'width="100%" height="100%" name="interaction" align="middle" ';
t += 'play="true" loop="false" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" ';
t += 'pluginspage="http://www.adobe.com/go/getflashplayer" ';
t += 'flashvars="' + vars + '"></embed>';
document.write(t);
在QT中就这样用(通过JS设置FlashVars):
QFile file;
file.setFileName(":/resources/loadflash.js");
file.open(QIODevice::ReadOnly);
QString js = file.readAll();
file.close(); QString js1 = "var url='http://blah.swf'; var vars='a=b&c=d';" + js
ui->webView->page()->mainFrame()->evaluateJavaScript(js1);
这种方法不是万能的。我就用同样的代码加载两个不同的Flash,一个成功一个不成功。调起来那个累啊。最后猜想可能是那个有问题的Flash中不认识这样的参数,抑或是跨域?还好,还有其它的办法:
先在 webView 中加载一个空的 Flash ,或一个只包含空的Flash的HTML,然后,也是使用JS控制加载:
QWebFrame *frame = ui->webView->page()->mainFrame();
QWebElement e = frame->findFirstElement("embed");
e.evaluateJavaScript("this.FlashVars='a=b&c=d';"
"this.LoadMovie(0, 'http://blah.swf');");
【END】
- 在Qt中如何加载flash
- QT 中加载 Flash
- QT webkit 中加载flash文件
- 如何在MeeGo Qt应用程序中加载插件(一)
- 如何在MeeGo Qt应用程序中加载插件(二)
- 如何在MeeGo Qt应用程序中加载插件(二)
- 如何在MeeGo Qt应用程序中加载插件(一)
- 用Qt加载Flash
- FLASH中如何加载外部图片
- 如何加载字体到flash软件中
- 在Qt中如何加载图像以及保存图像到数据库中
- 在Qt中如何编写插件,加载插件和卸载插件。
- 在Qt中如何编写插件,加载插件和卸载插件
- 在Qt中如何编写插件,加载插件和卸载插件
- 在Qt中如何编写插件,加载插件和卸载插件
- 在Qt中如何编写插件,加载插件和卸载插件(转)
- 在qt中加载百度地图
- 如何在网页中嵌套flash
- valgrind命令
- 查询时数据库是否导入成功
- my discuze and my websit
- Oracle建立用户,并为该用户建立一张只读访问的视图
- COM技术入门基础知识
- 在Qt中如何加载flash
- 虚拟化技术简介
- Java文件上传验证
- Linux下Apache安装和服务的启动
- 发布的Qt程序如何才能正常显示图片
- Java基础--异常
- UBUNTU下连接ANDROID手机调试
- Dedecms 标签收集
- 本周不可错过的Android游戏(111231)