使用Python,怎么把Flash Plugin加到webkit中,而不依赖本地的Flash Plugin?

lxguidu 2010-03-11 12:39:42
怎么加载官方(adobe公司) flash plug 到 webkit?如果本机安装了FIRFOX,并且FIRFOX已经安装了 flash plug,那么 webkit 是可以调用FLASH的。现在的问题是不需依赖本地安装 firfox,用程序加载 flash plug,这要怎么实现呢?
...全文
353 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
notax 2010-03-12
  • 打赏
  • 举报
回复
就是用pyinstaller打包有点问题,上面的脚本要~40MB,太大了
lxguidu 2010-03-11
  • 打赏
  • 举报
回复
不知道这样实现行不行(个人感觉不是这样的),这是网上的代码:

m_webView = new QWebView(this);
m_webView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal,Qt::ScrollBarAlwaysOff);
m_webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
connect(m_webView,SIGNAL(linkClicked(QUrl)),this,SLOT(openLinkSlot(QUrl)));
m_webView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);

或者能不能直接拷贝Flash Plugin的dll库呢(Windows下,Linux下Flash Plugin的库的后缀应该是.so吧,这里为了简单一点,暂不考虑Linux平台)?
lxguidu 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxguidu 的回复:]
不知道这样实现行不行(个人感觉不是这样的),这是网上的代码:

m_webView = new QWebView(this);
m_webView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal,Qt::ScrollBarAlwaysOff);
m_webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
connect(m_webView,SIGNAL(linkClicked(QUrl)),this,SLOT(openLinkSlot(QUrl)));
m_webView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);

或者能不能直接拷贝Flash Plugin的dll库呢(Windows下,Linux下Flash Plugin的库的后缀应该是.so吧,这里为了简单一点,暂不考虑Linux平台)?

[/Quote]

找了很久,几乎都是C++的^_^!
notax 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxguidu 的回复:]
不知道这样实现行不行(个人感觉不是这样的),这是网上的代码:

m_webView = new QWebView(this);
m_webView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal,Qt::ScrollBarAlwaysOff);
m_webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
connect(m_webView,SIGNAL(linkClicked(QUrl)),this,SLOT(openLinkSlot(QUrl)));
m_webView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
m_webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);

或者能不能直接拷贝Flash Plugin的dll库呢(Windows下,Linux下Flash Plugin的库的后缀应该是.so吧,这里为了简单一点,暂不考虑Linux平台)?

[/Quote]


这是C++ 的吧,C++要把QWebPage的QWebSettings::PluginsEnabled 设为 true
http://doc.trolltech.com/4.5/qtwebkit.html

python 的话要用
web.settings().setAttribute(QWebSettings.PluginsEnabled, True)



我在linux 上用pyqt 和flash 没问题, 速度也很快

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *

app = QApplication(sys.argv)

web = QWebView()
web.settings().setAttribute(QWebSettings.PluginsEnabled, True)

web.load(QUrl("http://sports.sina.com.cn/"))
web.show()

sys.exit(app.exec_())

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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