3

在尝试在 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吗?是否有解决方法或获取刷新间隔的不同方法?

4

1 回答 1

2

这是 gobject-introspection 绑定规范中的一个错误。已提交适当的错误报告,并且正在此处处理。

于 2018-03-11T22:48:33.443 回答