1

python(2.7)/ GTK +アプリを実行しようとしていますが、WebKitWebViewを含むウィンドウがあります。

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ビットサーバーVM(ビルド20.0-b12、混合モード)**メッセージ:コンソールメッセージ:undefined @ 0:TypeError:'undefined'はオブジェクトではありません

ページは読み込まれますが、ビデオを再生できません:((ビデオボックスはすべて黒で、再生ボタンはありません。何もありません)

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>

手伝ってくれませんか?ありがとう!

4

3 に答える 3

2

あなたの問題の解決策を見つけました。OpenJDK からのエラー メッセージは無関係です。それは Java ブラウザ プラグインからのものであり、実行しようとしていることに影響しません。

はるかに重要なのは、単純な間違いを犯すことです。ウィンドウを表示しないだけです。を追加

self.main_window.show_all()

への呼び出しGtk.main()とウィンドウが表示される前に、Youtube ビデオの再生が開始され、すべてが正常に機能します。

于 2012-07-23T06:53:09.380 に答える
1

これは今では古い質問だと思いますが、どちらの答えも正しくありません。

質問で提出されたコードが実際に実行され、ビデオが正常に表示されます。表示されるウィンドウは非常に小さいため、表示するには最大化する必要があります。

于 2016-05-20T04:26:34.323 に答える
-2

自分に合った解決策を見つけました。使った

import gtk 
import webkit

それ以外の:

from gi.repository import Gtk, WebKit
于 2012-08-07T20:20:09.713 に答える