gtk3 中没有 gtkglarea 的 glcontext python
No glcontext for gtkglarea in gtk3 python
我正在尝试使用 GtkGLArea 创建 3d 可视化工具,代码如下:
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>
但是,当我 运行 应用程序时,它显示 window 并在其中显示文本 无法创建 GL 上下文 。有什么建议吗?
所以我通过谷歌搜索找到了答案无法创建 GL 上下文。看来出现此错误的大多数人都是 运行 旧硬件。所以我尝试了我的新电脑(我不喜欢)。瞧!现在我得到了一个有效的 window。
我正在尝试使用 GtkGLArea 创建 3d 可视化工具,代码如下:
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>
但是,当我 运行 应用程序时,它显示 window 并在其中显示文本 无法创建 GL 上下文 。有什么建议吗?
所以我通过谷歌搜索找到了答案无法创建 GL 上下文。看来出现此错误的大多数人都是 运行 旧硬件。所以我尝试了我的新电脑(我不喜欢)。瞧!现在我得到了一个有效的 window。