self.button = gtk.Button(stock=gtk.STOCK_DELETE)
Только шоу: удалить
Это недавние изменения в GTK - разработчики хотели, чтобы иконки не появляются на кнопках. На Linux это может быть изменено путем редактирования клавиши GCONF
/desktop/gnome/interface/buttons_have_icons
в Windows, я думаю (я на самом деле не пробовал), что вам нужно установить значение в вашем файле GTKRC (для меня это В C: \ Program Files \ GTK + \ etc \ gtkrc
) и используйте тему, которая поддерживает значки (я думаю, что по умолчанию нет).
Вы также можете добавить GTK-кнопку-изображения = 1
на ваш файл ~ / .gtkrc-2.0
после Настройка темы, которая может перевернуть Опция из GCONF
.
Редактировать В ответ на ваш комментарий:
Так же, как этот ответ, но в Python: в GTK, как я могу сделать кнопку с простой значком на стока?
для Python, это Просто
image = gtk.Image()
# (from http://www.pygtk.org/docs/pygtk/gtk-stock-items.html)
image.set_from_stock(gtk.STOCK_**)
button = gtk.Button()
button.set_image(image)
button.set_label("")
Мне пришлось сделать это, чтобы заставить его работать с Python без изменения моего файла конфигурации. Когда Я вызвал set_image (), изображение не отображалось.
image = gtk.Image()
image.set_from_stock(gtk.STOCK_**, gtk.ICON_SIZE_BUTTON)
button = gtk.Button()
button.add(image)
button.show()
У меня была такая же проблема в GTKmm на Windows. Тема "MS-Windows" отключает изображения на стоковых кнопках, и тема имеет приоритет над настройками в gtkrc (поэтому установка gtk-button-images = true в gtkrc не помогла). Что я сделал, так это изменил настройки GTK во время выполнения, и изображения появились, как и ожидалось. :) Вот код на C++:
Glib::RefPtr<Gtk::Settings> settings = Gtk::Settings::get_default();
/* force using icons on stock buttons: */
settings->property_gtk_button_images() = true;
Он должен быть размещен после построения первого окна.
Python-эквивалент для установки свойства без необходимости изменения системных конфигурационных файлов:
settings = gtk.settings_get_default()
settings.props.gtk_button_images = True
Это должно следовать за вызовом window.show() и, очевидно, предшествовать циклу gtk.main().