2016-06-05 6 views
0

Контекст

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

Моя проблема

Как вставлять файлы ресурсов (например, изображения) для последующего использования в пользовательском интерфейсе? Как получить к ним доступ позже? И как положить их в кнопку?

То, что я с помощью

Я использую Linux (Mint) и IDE развития Anjuta, с дизайнером Glade UI интегрированной. Проект Vala нацелен на проект GTK + 3.0.

То, что я пытался

Я попытался добавить новую конкретную цель для изображений, добавив их в проект ... Но я, кажется, не удастся. Я видел изображения по умолчанию, предоставленные Linux, и они работают отлично, но мне нужно добавить свои собственные.

Заранее благодарен!

ответ

0

Обычный подход - установить изображения на PREFIX/share/pixmaps/YOUR_APP. Например, Gnumeric устанавливает файлы .png в /usr/share/pixmaps/gnumeric/.

Вы можете использовать GResource для вставки двоичных файлов (например, изображений) в ваш исполняемый файл, если вы действительно этого хотите. Команда glib-compile-resources может быть добавлена ​​в вашу систему сборки (см. Также this question).

Вы также можете использовать значки из темы иконок пользователей.

Вы не указали, какой компонент вы хотите использовать для отображения изображений, поэтому я возьму здесь Gtk.Image.

Gtk.Image имеет несколько конструкторов с целью загрузки изображения:

  • from_icon_name загружает изображение из текущей темы иконок (что полезно для поддержки темы пользователя).
  • from_resource загружает изображение из встроенного GResource.
  • from_file загружает изображение из файла.

Дополнительную информацию см. В основной документации Gtk.Image. Некоторые другие виджеты имеют аналогичные методы для загрузки изображений (например, кнопок на панели инструментов).

Вам больше не нужно использовать from_stock (в Gtk +, которая заменяется схемами значков freedesktop.org) была система stock.

+0

Извините, я совершенно не знаком с разработкой Linux. Есть ли способ автоматизировать процесс «установки» моих изображений в '/ usr/share/pixmaps/my_app /'? Какой был бы лучший способ разработать как изображения, которые будут скопированы там, так и двоичные (хотя это, возможно, еще один вопрос!)? Кроме того, спасибо за ваш ответ! – Lonami

+0

Я предполагаю, что вы используете autotools (который используется по умолчанию при создании проекта Vala от Anjuta).Когда вы нажмете «Build-> Install Project (Shift + F7)», он установит все, что указано в ваших файлах Makefile.am (которые обрабатываются automake + autoconf). Я предлагаю вам провести какое-то исследование по autotools. Хорошим ресурсом является [эта книга] (http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool). –

+0

BTW: Процесс «GResource» не требует установки бинарного файла каждый раз, когда вы выполняете сборку, но все еще нуждается в модификации файла (ов) автомата. –

 Смежные вопросы

  • Нет связанных вопросов^_^