【发布时间】:2012-07-20 23:20:48
【问题描述】:
我正在尝试做一个 python(2.7)/GTK+ 应用程序,并且我有一个包含 WebKit WebView 的窗口。
from gi.repository import Gtk, WebKit
class MainWindow:
def __init__( self ):
self.builder = Gtk.Builder()
self.builder.add_from_file("youtubeWindow.ui")
self.main_window = self.builder.get_object("main_window")
self.scrl_window = self.builder.get_object("scrl_window")
self.webview = WebKit.WebView()
self.scrl_window.add(self.webview)
self.webview.show()
self.webview.open("http://youtu.be/o-akcEzQ6Y8")
self.main_window.show_all()
Gtk.main()
tube_window = MainWindow()
当我运行我的应用程序时,我收到以下错误:
错误:无效的浏览器函数表。某些功能可能是 受限制的。 java版本“1.6.0_24”OpenJDK运行环境 (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1) OpenJDK 64 位服务器 虚拟机(构建 20.0-b12,混合模式) ** 消息:控制台消息:未定义 @0:TypeError:“未定义”不是对象
页面加载,但我无法播放我的视频:((视频框全黑,没有任何播放按钮,什么都没有)
用户界面是在 Glade 中制作的,Glade 生成的 XML 文件 youtubeWindow.ui 是:
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="main_window">
<property name="can_focus">False</property>
<property name="type_hint">menu</property>
<child>
<object class="GtkScrolledWindow" id="scrl_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>
你能帮帮我吗? 谢谢!
【问题讨论】:
-
从您的代码访问 youtube 视频链接时显示:“验证期间发生错误。对此感到抱歉。”
-
我不明白为什么您的错误消息将 OpenJDK 命名为源。您使用的是哪个 Python 实现? Cpython / Jython?
-
Ubuntu 12.04 上的 CPython 2.7。我认为 Java 错误与 google 的 youtube 播放器有关,也许我必须导入一些额外的东西来启用 WebKit 对 Java 的支持。 Youtube 在我的 Opera、Firefox 和 Chrome 系统上运行,所以我的代码中一定遗漏了一些东西。也许在 WebKit 中启用 Java 的东西
-
这听起来更奇怪。现在 Youtube 上没有 Java。如果你提供了你的
youtubeWindow.ui(或极简主义等价物),我可以试试看。
标签: python webkit youtube gtk python-2.7