PyGtk相当于gdk_window_ensure_native?

时间:2011-10-26 13:40:11

标签: python gtk pygtk

PyGtk中是否有与gdk_window_ensure_native等效的内容?我需要它来在Gtk> = 2.18中将OpenGl绘制成小部件。

2 个答案:

答案 0 :(得分:4)

您可以使用gtk.Widget.get_window()获取窗口小部件/窗口的gtk.gdk.Window,然后使用未记录的gtk.gdk.Window.ensure_native(),例如:my_widget.get_window().ensure_native()。至少与pygtk2-2.17.0一起工作我手头有。

答案 1 :(得分:1)

是的,有:

>>> import gtk
>>> w = gtk.Window()
>>> w.show_all()
>>> gw = w.get_window()
>>> gw
<gtk.gdk.Window object at 0xa31e824 (GdkWindow at 0xa38ea28)>
>>> gw.ensure_native()
True
>>> gw.has_native()
True

或者,您可以尝试设置环境变量GDK_NATIVE_WINDOWS=1