2012-07-13 72 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()