移植“import gobject”以使用 GObject-Introspection。(PyGTK 到 PyGI 和 GTK 3)

Jo-*_*tad 5 python pygtk gtk3 pygi porting

我一直在尝试从 PyGTK 移植一个库来使用 GI 和 GTK3。问题是我找不到任何特定于 gobject 导入的资源,但仅适用于 GTK。我希望如果有人为我翻译以下内容,我会掌握如何做这些东西。GTK 的事情本身似乎有很好的文档记录,但我找不到任何关于此的信息。


__gsignals__ = {'cell-edited' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
    (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, 
    gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT)), 'selection-changed' : 
    (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT,))}
Run Code Online (Sandbox Code Playgroud)

我的假设是,因为我找不到任何特定的文档,这将是更改常量名称的问题,但我找不到任何替代品。

Jo-*_*tad 4

我认为在 dir()-ing 所有我能在 GObject 类中找到的东西之后我已经破解了代码 =>

G_SIGNAL_RUN_FIRST在枚举中找到GSignalFlags,它转换为GObject.SignalFlags.RUN_FIRST. 这是一致的,因此G_SIGNAL_MATCH_IDenum 中的 findGSignalMatchType翻译为GObject.SignalMatchType.ID.

并不完全明显,但一旦您知道要寻找什么就足够容易了。