Webkit/Python/GTK应用程序中的Youtube

2024-10-02 00:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试做一个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() 

当我运行我的应用程序时,我收到以下错误:

ERROR: Invalid browser function table. Some functionality may be restricted. java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) ** Message: console message: undefined @0: TypeError: 'undefined' is not an object

页面加载,但我无法播放我的视频:((视频框是黑色的,没有任何播放按钮,没有)

用户界面在Glade中生成,XML文件由Glade生成,youtubeWindow.ui是:

^{pr2}$

你能帮帮我吗? 谢谢!在


Tags: fromselfadd应用程序gtkobjectmainbuilder
3条回答

我想这是个老问题了,但两个答案都不正确。在

问题中提交的代码实际上运行并显示了视频。它显示一个非常小的窗口,所以你必须最大化它才能看到它。在

我找到了解决你问题的办法。来自OpenJDK的错误消息是不可逆的,它来自Java浏览器插件,对您要做的事情没有影响。在

更重要的是,你犯了一个简单的错误。你根本不把窗户露出来!添加

self.main_window.show_all()

在调用Gtk.main()并显示窗口之前,Youtube视频播放开始,一切正常。在

我找到了一个对我有用的解决办法。我用过

import gtk 
import webkit

而不是:

^{pr2}$

相关问题 更多 >

    热门问题