在尝试在Python 3脚本中使用GTK 3帧时钟时,我发现我不了解如何调用等效的gdk_frame_clock_get_refresh_info()
。我首先尝试了显而易见的,在get_refresh_info()
返回的对象上调用get_frame_clock()
方法:
from gi.repository import Gtk as gtk, GLib as glib
w = gtk.Window()
w.show()
glib.idle_add(lambda: print(w.get_frame_clock().get_refresh_info()))
gtk.main()
失败了:
TypeError: Gdk.FrameClock.get_refresh_info() takes exactly 4 arguments (1 given)
C函数确实需要四个参数,但最后两个是gint64
的指针。在Python版本中,该函数在使用除三个数字之外的任何内容调用时引发类型错误。当使用三个数字调用时,整个过程会因分段错误而崩溃。
这是GDK&gdk_frame_clock_get_refresh_info
内省规范中的错误吗?是否有解决方法或获取刷新间隔的不同方法?