Webkit/Python/GTK应用程序中的Youtube
我正在尝试做一个python(2.7)/GTK+应用程序,我有一个窗口,其中包含一个WebKit WebViewWebkit/Python/GTK应用程序中的Youtube,python,webkit,youtube,gtk,python-2.7,Python,Webkit,Youtube,Gtk,Python 2.7,我正在尝试做一个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_
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:“未定义”不是对象
页面已加载,但我无法播放视频:((视频框全部为黑色,没有任何播放按钮,没有任何内容)
UI在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>
假的
菜单
真的
真的
在里面
你能帮帮我吗?
谢谢!我找到了您问题的解决方案。OpenJDK发出的错误消息是不可逆转的,它来自Java浏览器插件,对您尝试执行的操作没有影响 更重要的是,你犯了一个简单的错误。你只是没有显示你的窗口!添加一个
self.main_window.show_all()
在调用
Gtk.main()
并显示窗口之前,Youtube视频播放开始,一切正常。我找到了解决您问题的方法。OpenJDK发出的错误消息是不可逆转的,它来自Java浏览器插件,对您尝试执行的操作没有影响
更重要的是,你犯了一个简单的错误。你只是没有显示你的窗口!添加一个
self.main_window.show_all()
在调用
Gtk.main()
并显示您的窗口之前,Youtube视频播放开始,一切正常。我找到了一个适合我的解决方案。我使用了
import gtk
import webkit
而不是:
from gi.repository import Gtk, WebKit
我找到了一个适合我的解决方案
import gtk
import webkit
而不是:
from gi.repository import Gtk, WebKit
我想这是一个老问题,但两个答案都不正确
问题中提交的代码实际运行并显示视频效果良好。它显示了一个非常小的窗口,因此您必须将其最大化才能看到它。我想这是一个老问题,但两个答案都不正确
问题中提交的代码实际运行并显示视频效果良好。它显示了一个非常小的窗口,因此您必须将其最大化才能看到它。从代码访问youtube视频链接时,它会说:“验证过程中出错。对此表示抱歉。”我很惊讶为什么您的错误消息将OpenJDK命名为源代码。您使用的是哪种Python实现?Ubuntu12.04上的Cpython/Jython?Cpython 2.7。我认为Java错误与google的youtube播放器有关,也许我必须导入一些额外的东西来支持Java的WebKit。youtube在我的Opera系统上工作,Firefox和d Chrome,所以我的代码中一定缺少了一些东西。也许是一些在WebKitt中启用Java的东西听起来更奇怪。现在Youtube上没有Java。如果你提供了你的
youtubeWindow.ui
(或与之相当的极简主义者),我可以试试。从你的代码访问Youtube视频链接,它会说:“验证过程中出错。对此表示抱歉。"我很惊讶为什么您的错误消息将OpenJDK命名为源代码。您使用的是哪种Python实现?Ubuntu12.04上的Cpython/Jython?Cpython 2.7。我认为Java错误与google的youtube播放器有关,也许我必须导入一些额外的东西来支持Java的WebKit。youtube在我的Opera系统上工作,Firefox和d Chrome,所以我的代码中一定缺少了一些东西。也许是一些在WebKitt中启用Java的东西听起来更奇怪。现在Youtube上没有Java。如果你提供了你的youtubeWindow.ui
(或与之相当的极简主义者)我可以试试。是的,谢谢,很抱歉。我发布的代码是我应用程序代码的简化版本,很明显我写错了,谢谢你的提示,我会编辑我的帖子。但是我在加载youtube页面时仍然会遇到同样的java错误。在我的情况下,一切都很好。我想你只需要接受一些错误输出在webkit中。是的,谢谢,很抱歉。我发布的代码是我应用程序代码的简化版本,很明显我写错了,谢谢提示,我会编辑我的帖子。但在加载youtube页面时,我仍然会遇到同样的java错误。在我的情况下,一切都很好。我想你只需要接受一些源于webkit。不要这样做。你现在加载的是GTK 2而不是GTK 3,这会让你头疼,因为GTK 2将变得不受支持和未维护。不要这样做。你现在加载的是GTK 2而不是GTK 3,这会让你头疼,因为GTK 2将变得不受支持和未维护。