我正在将代码从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(None,w,h,1)“改为"Gdk.Pixmap.new(None,w,h,1)”,我得到了以下错误:
TypeError:参数0不允许任何作为值
ThankYou :)
发布于 2018-02-09 10:11:32
gi是GObject-内省的意思。这个特性只出现在GTK+ 3中,允许动态绑定,而不是像pyGTK这样的静态绑定。然而,似乎有一个与GTK+ 2 (pygtkcompat)兼容的层,但我不知道有哪个项目使用它。
请阅读本文,其中提供了有关如何从pyGTK移植到pyGObject:https://wiki.gnome.org/Projects/PyGObject/IntrospectionPorting的提示。
迁移步骤之一是使用pygi-convert.sh脚本更新代码,并为您完成迁移的一部分。
https://stackoverflow.com/questions/48695056
复制相似问题