2017-03-04 6 views
0

でgtkglareaなしglcontext私はこのコードを使用して、3Dビジュアライザを作成するためにGtkGLAreaを使用しようとしています:gtk3パイソン

import gi 
gi.require_version('Gtk', '3.0') 
from gi.repository import Gtk, GdkPixbuf, Gdk 
import os, sys 

UI_FILE = "src/pygtk_gtkglarea.ui" 

class GUI: 
    def __init__(self): 

     self.builder = Gtk.Builder() 
     self.builder.add_from_file(UI_FILE) 
     self.builder.connect_signals(self) 

     gl_area = Gtk.GLArea() 
     gl_area.connect('render', self.area_render) 
     box = self.builder.get_object('box1') 
     box.pack_end(gl_area, True, True, 0) 

     window = self.builder.get_object('window') 
     window.show_all() 

    def area_render(self, gl_area, gl_context): 
     print gl_area 
     print gl_context 
     return True 

    def on_window_destroy(self, window): 
     Gtk.main_quit() 

def main(): 
    app = GUI() 
    Gtk.main() 

if __name__ == "__main__": 
    sys.exit(main()) 

とUIファイル:しかし

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Generated with glade 3.18.3 --> 
<interface> 
    <requires lib="gtk+" version="3.0"/> 
    <object class="GtkWindow" id="window"> 
    <property name="visible">True</property> 
    <property name="can_focus">False</property> 
    <property name="title" translatable="yes">window</property> 
    <property name="default_width">500</property> 
    <property name="default_height">400</property> 
    <signal name="destroy" handler="on_window_destroy" swapped="no"/> 
    <child> 
     <object class="GtkBox" id="box1"> 
     <property name="visible">True</property> 
     <property name="can_focus">False</property> 
     <property name="orientation">vertical</property> 
     <child> 
      <placeholder/> 
     </child> 
     </object> 
    </child> 
    </object> 
</interface> 

、私が実行したときアプリケーションには、テキストが入ったウィンドウが表示されます内部にGLコンテキストを作成できません。助言がありますか?

答えて

0

私はグーグルの答えを見つけましたGLコンテキストを作成できません。このエラーが発生しているほとんどの人は、古いハードウェアを実行しているようです。だから私は新しいコンピュータ(私が好きではない)を試しました。 Voila!今私は働く窓を得る。

+2

レガシーGLコンテキストのフォールバックサポートを許可するには、少なくともGTK + 3.20が必要です。 – ebassi