crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Файлы ресурсов
ranger
  опции профиля:
сообщение 8.7.2009, 18:25
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 29.7.2008
Пользователь №: 245

Спасибо сказали: 9 раз(а)




Репутация:   4  


Есть некоторый текст, который нужно загружать в GtkTextView при щелчке на одной из ветвей GtkTreeView. Дело в том, что появилась необходимость поместить этот текст в сам экзешник(чтобы не таскать за собой ничего лишнего). :) Думал всё это сделать через файлы ресурсов, но как с этим обстоят дела в Gtk+ понять не могу. Может быть кто-то сталкивался с чем-то подобным?

Сообщение отредактировал ranger - 9.7.2009, 15:31
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ranger
  опции профиля:
сообщение 9.7.2009, 19:39
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 29.7.2008
Пользователь №: 245

Спасибо сказали: 9 раз(а)




Репутация:   4  


Неужели никто не знает ответ на такой простой вопрос? :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.7.2009, 9:03
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Я честно говоря поискал и нашел только как работать с локализацией и стилями, которые хранятся в ресурсном файле, но отдельном от exe'шника.
А как ресурсный файл засунуть в exe так и не нашел. :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_sunny_*_*
сообщение 3.5.2011, 20:51
Сообщение #4





Гости








    


Текст вшить в экзашник проще простого, создаёте переменную глобальную переменную
const char *text = "вшитый текст";
и берёте из неё значения по мере необходимости, можно вынести всё это в *.h файл, чтобы не путать с основным кодом.

Даже картинки можно так встраивать:
Картинки преобразоваем в формат xpm, например с помощью Gimp.
XPM - это текстовый формат и файлы в нём начинаются примерно так:
static char * sample_xpm[] = {
"48 48 64 1",
" c None",
". c #DF7DCF3CC71B",
"X c #965875D669A6",
...

Всё это хозяйство можно включить в *.c или в *.h файл, а потом картинку можно получить через gdk_pixbuf_new_from_xpm_data(sample_xpm)
или через gdk_pixmap_create_from_xpm(), смотря что нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Sunny_*
сообщение 18.5.2015, 9:14
Сообщение #5





Гости








    


В Gtk+ 3.0 есть возможнось использовать файлы ресурсов по аналогии с Windows.

Пример файла ресурсов (resource.xml):
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gtk">
<file preprocess="xml-stripblanks">app.ui</file>
<file>pixmaps/icon.png</file>
</gresource>
</gresources>

Далее командой glib-compile-resources компилируем файл ресурсов в *.c файл, который можно включить в проект.
Пример:
glib-compile-resources --generate-source resource.xml
На выходе будет resource.с

Доступ из кода к ресурсам получаем следующим образом:
bytes = g_resources_lookup_data("/org/gtk/pixmaps/icon.png", 0, NULL);
или с помощью специализированных функций вроде:
gdk_pixbuf_new_from_resource()
gtk_builder_new_from_resource()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 1:09