Как заставить изображения появляться на кнопках в Glade Designer?

Не уверен, что это ошибка или просто очень раздражающая функция, но я не могу заставить изображение появляться ни на одной из моих кнопок в Glade Designer.

enter image description here enter image description here

Нужно ли изменить какое-либо свойство, чтобы оно отображало изображение?

6
задан 24 June 2012 в 08:57

4 ответа

Шаги ниже должны работать (от вида Вашего вопроса, который можно запустить на шаге 5, но я включал всех их для будущих пользователей).

  1. Удостоверьтесь изображение значка, которое Вы хотите использовать, находится в your_app/data/media
  2. выберите виджет, к которому Вы хотите применить изображение в поляне
  3. выбрать icon widget в edit image на правильной панели свойств кнопки инструментов для добавления виджета изображения к кнопке
  4. отредактируйте виджет изображения, который Вы просто создали для добавления изображения с помощью правильной панели (выбор file name в edit image и обзор к Вашему изображению
  5. снабдите префиксом имя файла, которое появляется в file name с ../media/ таким образом, поляна видит его.

Вы видите скринкаст этого процесса приблизительно с 33 минут вперед в создавании Вашего первого видео приложения, которое выпустил Jono Bacon.

4
ответ дан 24 June 2012 в 08:57

Я полагаю, что это потому, что по умолчанию (не уверен, что это настройка для GNOME или GTK), изображения не отображаются в кнопках, поэтому я не уверен, что есть и способ обойти это.

Этот вопрос Stackoverflow намекает на стоковые изображения, не отображаемые в кнопках из-за этого, что, как я полагаю, относится и к пользовательским изображениям.

Вы можете попробовать обходной путь, упомянутый в этом вопросе, чтобы посмотреть, работает ли он для вас:

from gi.repository import Gtk

settings = Gtk.Settings.get_default()
settings.props.gtk_button_images = True

Я также заметил, что на изображения кнопок панели инструментов эта настройка не влияет и они всегда показывается . Просто обязательно добавьте ../media к пути изображения в Glade, как Гарри Кэрнс упоминает в своем ответе.

0
ответ дан 24 June 2012 в 08:57

Вы также можете попробовать сделать это с помощью Python, если у вас не работает glade:

 image = Gtk.Image()
 image.set_from_file("data/media/settings.png")
 image.show()

 button = self.builder.get_object("yourButton")
 button.add(image)
0
ответ дан 24 June 2012 в 08:57

Все правильно, что вы сделали на самом деле ... проблема в имени файла "fb.ico"! дайте полную ссылку там для вашего изображения. Когда вы запустите код, он покажет ваше изображение в вашем окне. Вы знаете, что: -)

0
ответ дан 24 June 2012 в 08:57

Другие вопросы по тегам:

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