Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webkit/Python/GTK应用程序中的Youtube_Python_Webkit_Youtube_Gtk_Python 2.7 - Fatal编程技术网

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

Webkit/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_

我正在尝试做一个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:“未定义”不是对象

页面已加载,但我无法播放视频:((视频框全部为黑色,没有任何播放按钮,没有任何内容)

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将变得不受支持和未维护。