Pygobject python中的Gtk-Gdk Pixmap

时间:2018-02-08 21:27:27

标签: python gtk pygtk pygobject pixmap

我将代码从PyGtk移植到PyGI(PyGObject)。有我的代码:

import gi
gi.require_version('Gtk','2.0')
from gi.repository import Gtk, Gdk, GObject
w, h = 100,100
# pixmap = gtk.gdk.Pixmap(None, w, h, 1)
pixmap = Gdk.Pixmap(None, w, h, 1) # I Change to it and get error
ctx = pixmap.cairo_create()

我的错误是:

  

GObject。 init ()接受0个参数(给定4个)

... 然后我改变" Gdk.Pixmap(无,w,h,1)" To" Gdk.Pixmap.new(无,w,h,1)"我收到此错误:

  

TypeError:参数0不允许None作为值

谢谢你:)

1 个答案:

答案 0 :(得分:0)

gi代表GObject-introspection。此功能仅出现在GTK + 3中,并允许动态绑定,而不是像pyGTK这样的静态绑定。然而,似乎有一个兼容层与GTK + 2(pygtkcompat),但我知道没有项目使用它。

请阅读这篇文章,提供有关如何从pyGTK移植到pyGObject的提示: https://wiki.gnome.org/Projects/PyGObject/IntrospectionPorting

其中一个迁移步骤是使用pygi-convert.sh脚本更新代码并为您执行部分迁移。