3

我对 python 和 gtk 几乎是新手。

我只是想不通,为什么我会收到此错误消息:

self.builder.get_object("checkstatus").set_from_stock("gtk-yes", Gtk.ICON_SIZE_BUTTON)
.......
AttributeError: 'gi.repository.Gtk' object has no attribute 'ICON_SIZE_BUTTON'

一开始我正在导入:

import pygtk
pygtk.require('2.0')
from gi.repository import Gtk

所以问题是gtk没有名为'ICON_SIZE_BUTTON'的属性?但是当我查看文档时,它是这么说的......

http://developer.gnome.org/pygtk/2.22/class-gtkimage.html#method-gtkimage--set-from-stock

我将不胜感激任何帮助。谢谢!

4

1 回答 1

8

嗯,有几件事正在发生。

对于使用 PyGObject 的 GTK+ 3,您使用from gi.repository import Gtk然后使用Gtk.IconSize.BUTTON.

对于使用 PyGTK 的 GTK+ 2,您使用import pygtkimport gtk然后使用gtk.ICON_SIZE_BUTTON.

换句话说,您正在混淆版本。PyGTK (GTK 2) 被 PyGObject 和 GTK 3 中称为“gobject introspection”的东西所取代。查看本教程:http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html

于 2012-06-21T02:34:47.063 回答