Значки запаса, не показанные на кнопках

self.button = gtk.Button(stock=gtk.STOCK_DELETE)

Только шоу: удалить

12
задан aberkowitz 2 February 2010 в 23:51
поделиться

4 ответа

Это недавние изменения в 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("")
9
ответ дан 2 December 2019 в 05:40
поделиться

Мне пришлось сделать это, чтобы заставить его работать с Python без изменения моего файла конфигурации. Когда Я вызвал set_image (), изображение не отображалось.

image = gtk.Image()
image.set_from_stock(gtk.STOCK_**, gtk.ICON_SIZE_BUTTON)
button = gtk.Button()
button.add(image)
button.show()
2
ответ дан 2 December 2019 в 05:40
поделиться

У меня была такая же проблема в 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; 

Он должен быть размещен после построения первого окна.

1
ответ дан 2 December 2019 в 05:40
поделиться

Python-эквивалент для установки свойства без необходимости изменения системных конфигурационных файлов:

settings = gtk.settings_get_default()
settings.props.gtk_button_images = True

Это должно следовать за вызовом window.show() и, очевидно, предшествовать циклу gtk.main().

14
ответ дан 2 December 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: