Pygobject 中的 Gtk-Gdk 像素图 python
Gtk-Gdk Pixmap in Pygobject python
我正在将代码从 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() takes exactly 0 arguments (4 given)
...
然后我将 "Gdk.Pixmap(None, w, h, 1)" 更改为 "Gdk.Pixmap.new(None, w, h, 1)" 我收到此错误:
TypeError: Argument 0 does not allow None as a value
谢谢你:)
gi
代表 GObject-introspection。此功能仅出现在 GTK+ 3 中,并允许动态绑定,而不是像 pyGTK 那样的静态绑定。然而,似乎有一个与 GTK+ 2 (pygtkcompat
) 的兼容层,但我知道没有项目使用它。
请阅读这篇文章,其中提供了有关如何从 pyGTK 移植到 pyGObject 的提示:
https://wiki.gnome.org/Projects/PyGObject/IntrospectionPorting
其中一个迁移步骤是使用 pygi-convert.sh 脚本来更新您的代码并为您完成部分迁移。
我正在将代码从 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() takes exactly 0 arguments (4 given)
... 然后我将 "Gdk.Pixmap(None, w, h, 1)" 更改为 "Gdk.Pixmap.new(None, w, h, 1)" 我收到此错误:
TypeError: Argument 0 does not allow None as a value
谢谢你:)
gi
代表 GObject-introspection。此功能仅出现在 GTK+ 3 中,并允许动态绑定,而不是像 pyGTK 那样的静态绑定。然而,似乎有一个与 GTK+ 2 (pygtkcompat
) 的兼容层,但我知道没有项目使用它。
请阅读这篇文章,其中提供了有关如何从 pyGTK 移植到 pyGObject 的提示: https://wiki.gnome.org/Projects/PyGObject/IntrospectionPorting
其中一个迁移步骤是使用 pygi-convert.sh 脚本来更新您的代码并为您完成部分迁移。