2012-07-13 99 views
1

我想要一個帶有兩個OpenGL區域的GTK GUI,它們將繪製不同的場景。有誰知道這樣做的代碼的例子嗎?Python,OpenGL和GTK。

This blog post提供了一個完整的工作示例,但是當我嘗試添加第二個OpenGL繪圖區域時,似乎OpenGL將這兩個場景繪製到同一個小部件。這當然是錯誤的。

回答

0

您可以使用任意數量的那些:

widget = self.gtkBuilder.get_object('OpenGLDrawAreaOpenGLFuBar') 
    self.OpenGLGizmo['fubar'] = OPenGLFuBar() 
    glarea = gtk.gtkgl.DrawingArea(glconfig=self.glconfig, 
            share_list=None, 
            render_type=gtk.gdkgl.RGBA_TYPE) 
    self.OpenGLWidget['fubar'] = glarea 
    glarea.set_size_request(333, 333) 
    red = (1.0, 0.0, 0.0, 0.0) 
    glarea.connect_after('realize', self.OpenGLGizmo['fubar'].realize_main) 
    glarea.connect('configure_event', self.OpenGLGizmo['fubar'].configure_event) 
    glarea.connect('expose_event', self.OpenGLGizmo['fubar'].expose_event) 
    glarea.set_flags(gtk.HAS_FOCUS | gtk.CAN_FOCUS) 
    glarea.add_events(gtk.gdk.KEY_PRESS_MASK) 
    glarea.connect('key_press_event', self.OpenGLGizmo['fubar'].key_callback) 
    widget.add(glarea) 
    glarea.show() 
    glarea.realize() 
    glarea.grab_focus()