GtkPicture
GtkPicture — Виджет для отображения GdkPaintable.
Функции
| GtkWidget * | gtk_picture_new () |
| GtkWidget * | gtk_picture_new_for_paintable () |
| GtkWidget * | gtk_picture_new_for_pixbuf () |
| GtkWidget * | gtk_picture_new_for_file () |
| GtkWidget * | gtk_picture_new_for_filename () |
| GtkWidget * | gtk_picture_new_for_resource () |
| void | gtk_picture_set_paintable () |
| GdkPaintable * | gtk_picture_get_paintable () |
| void | gtk_picture_set_pixbuf () |
| void | gtk_picture_set_file () |
| GFile * | gtk_picture_get_file () |
| void | gtk_picture_set_filename () |
| void | gtk_picture_set_resource () |
| void | gtk_picture_set_keep_aspect_ratio () |
| gboolean | gtk_picture_get_keep_aspect_ratio () |
| void | gtk_picture_set_can_shrink () |
| gboolean | gtk_picture_get_can_shrink () |
| void | gtk_picture_set_alternative_text () |
| const char * | gtk_picture_get_alternative_text () |
Свойства
| char * | alternative-text | Чтение/Запись |
| gboolean | can-shrink | Чтение/Запись |
| GFile * | file | Чтение/Запись |
| gboolean | keep-aspect-ratio | Чтение/Запись |
| GdkPaintable * | paintable | Чтение/Запись |
Типы и значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkPicture
Реализованные интерфейсы
GtkPicture реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Виджет GtkPicture отображает GdkPaintable. Предоставляются многочисленные удобные функции, упрощающие работу с изображениями. Например, для загрузки изображения из файла и его отображения есть удобная функция:
GtkWidget *widget;
widget = gtk_picture_new_for_filename ("myfile.png"); Если файл не загружен успешно, в изображении будет отображаться значок «разбитого изображения», подобный используемому во многих веб-браузерах. Если вы хотите обрабатывать ошибки при загрузке файла самостоятельно, например, отображая сообщение об ошибке, то загрузите изображение с помощью gdk_texture_new_from_file(), а затем создайте GtkPicture с помощью gtk_picture_new_for_paintable().
Иногда приложение не хочет зависеть от внешних файлов данных, таких как файлы изображений. Подробную информацию см. в документации GResource. В этом случае следует использовать gtk_picture_new_for_resource() и gtk_picture_set_resource().
GtkPicture отображает изображение в его естественном размере. См. GtkImage, если вы хотите отобразить изображение фиксированного размера, например, значок.
Изменение размера paintable
Вы можете повлиять на то, как paintable отображается внутри GtkPicture. Отключив “keep-aspect-ratio”, вы можете разрешить масштабирование paintable. “can-shrink” можно отключить, чтобы убедиться, что paintable никогда не станет меньше своего идеального размера — но будьте осторожны, если вы не знаете размер используемого paintable (например, при отображении загруженных пользователем изображений). Это может легко привести к увеличению размера изображения по сравнению с экраном. А “halign” и “valign” можно использовать, чтобы убедиться, что paintable не заполняет всё доступное пространство, а вместо этого отображается в исходном размере.
Узлы CSS
GtkPicture имеет единственный узел CSS с именем picture.
Доступность
GtkPicture использует роль GTK_ACCESSIBLE_ROLE_IMG.
Функции
gtk_picture_new ()
GtkWidget *
gtk_picture_new (void); Создаёт новый пустой виджет GtkPicture.
Возвращает
новый созданный виджет GtkPicture.
gtk_picture_new_for_paintable ()
GtkWidget *
gtk_picture_new_for_paintable (GdkPaintable *paintable); Создаёт новый GtkPicture, отображающий paintable .
GtkWidget GtkPicture будет отслеживать изменения paintable и обновлять свой размер и содержимое в ответ на них.
Параметры
paintable | a GdkPaintable, или | [nullable] |
Возвращает
новый GtkPicture
gtk_picture_new_for_pixbuf ()
GtkWidget *
gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf); Создаёт новый GtkPicture, отображающий pixbuf .
Это вспомогательная функция, которая вызывает gtk_picture_new_for_paintable(). Подробнее см. в этой функции.
После передачи pixbuf в эту функцию он не должен изменяться.
Параметры
pixbuf | a GdkPixbuf, или | [nullable] |
Возвращает
новый GtkPicture
gtk_picture_new_for_file ()
GtkWidget *
gtk_picture_new_for_file (GFile *file); Создаёт новый GtkPicture, отображающий указанный file . Если файл не найден или не может быть загружен, полученный GtkPicture будет пустым.
Если вам нужно обнаружить ошибки загрузки файла, используйте gdk_texture_new_from_file() для самостоятельной загрузки файла, а затем создайте GtkPicture из текстуры.
Параметры
file | a GFile. | [nullable] |
Возвращает
новый GtkPicture
gtk_picture_new_for_filename ()
GtkWidget *
gtk_picture_new_for_filename (const char *filename); Создаёт новый GtkPicture, отображающий файл filename .
Это вспомогательная функция, которая вызывает gtk_picture_new_for_file(). Подробнее см. в этой функции.
Параметры
filename | имя файла. | [type filename][nullable] |
Возвращает
новый GtkPicture
gtk_picture_new_for_resource ()
GtkWidget *
gtk_picture_new_for_resource (const char *resource_path); Создаёт новый GtkPicture, отображающий ресурс по адресу resource_path .
Это вспомогательная функция, которая вызывает gtk_picture_new_for_file(). Подробнее см. в этой функции.
Параметры
resource_path | путь к ресурсу для воспроизведения. | [nullable] |
Возвращает
новый GtkPicture
gtk_picture_set_paintable ()
void gtk_picture_set_paintable (GtkPicture *self,GdkPaintable *paintable);
Заставляет self отображать заданный paintable . Если paintable равен NULL, ничего не будет отображаться.
Подробнее см. gtk_picture_new_for_paintable().
Параметры
self | ||
paintable | a GdkPaintable или | [nullable] |
gtk_picture_get_paintable ()
GdkPaintable *
gtk_picture_get_paintable (GtkPicture *self); Получает GdkPaintable, отображаемый GtkPicture.
Параметры
self |
Возвращает
отображаемый paintable, или NULL если изображение пустое.
[nullable][transfer none]
gtk_picture_set_pixbuf ()
void gtk_picture_set_pixbuf (GtkPicture *self,GdkPixbuf *pixbuf);
Подробнее см. gtk_picture_new_for_pixbuf().
Это вспомогательная функция, которая вызывает gtk_picture_set_paintable(),
Параметры
self | ||
pixbuf | a GdkPixbuf или | [nullable] |
gtk_picture_set_file ()
void gtk_picture_set_file (GtkPicture *self,GFile *file);
Заставляет self загрузить и отобразить file .
Подробнее см. gtk_picture_new_for_file().
Параметры
self | ||
file | a | [nullable] |
gtk_picture_get_file ()
GFile *
gtk_picture_get_file (GtkPicture *self); Получает GFile, отображаемый в данный момент, если self отображает файл. Если self не отображает файл, например, когда использовалась gtk_picture_set_paintable(), то возвращается NULL.
Параметры
self | объект GtkPicture |
Возвращает
GFile отображаемый self .
[nullable][transfer none]
gtk_picture_set_filename ()
void gtk_picture_set_filename (GtkPicture *self,const char *filename);
Заставляет self загрузить и отобразить заданный filename .
Это вспомогательная функция, которая вызывает gtk_picture_set_file().
Параметры
self | объект GtkPicture | |
filename | имя файла для загрузки. | [nullable] |
gtk_picture_set_resource ()
void gtk_picture_set_resource (GtkPicture *self,const char *resource_path);
Заставляет self загрузить и отобразить ресурс по заданному resource_path .
Это вспомогательная функция, которая вызывает gtk_picture_set_file().
Параметры
self | объект GtkPicture | |
resource_path | путь к ресурсу. | [nullable] |
gtk_picture_set_keep_aspect_ratio ()
void gtk_picture_set_keep_aspect_ratio (GtkPicture *self,gboolean keep_aspect_ratio);
Если установлено TRUE, self будет отрисовывать содержимое в соответствии с его соотношением сторон. Это означает, что пустое пространство может отображаться вверху/внизу или слева/справа от self .
Если установлено FALSE или если содержимое не предоставляет соотношение сторон, содержимое будет растянуто по всей области изображения.
Параметры
self | объект GtkPicture | |
keep_aspect_ratio | сохранять соотношение сторон |
gtk_picture_get_keep_aspect_ratio ()
gboolean
gtk_picture_get_keep_aspect_ratio (GtkPicture *self); Получает значение, установленное с помощью gtk_picture_set_keep_aspect_ratio().
Параметры
self | объект GtkPicture |
Возвращает
TRUE если self пытается сохранить соотношение сторон содержимого
gtk_picture_set_can_shrink ()
void gtk_picture_set_can_shrink (GtkPicture *self,gboolean can_shrink);
Если установлено TRUE, self может быть меньше, чем его содержимое. Содержимое будет уменьшено при рендеринге.
Если вы хотите принудительно установить минимальный размер, используйте gtk_widget_set_size_request().
Обратите внимание, что аналогичная функция для увеличения не существует, поскольку поведение роста может контролироваться с помощью gtk_widget_set_halign() и gtk_widget_set_valign().
Параметры
self | объект GtkPicture | |
can_shrink | если |
gtk_picture_get_can_shrink ()
gboolean
gtk_picture_get_can_shrink (GtkPicture *self); Получает значение, установленное с помощью gtk_picture_set_can_shrink().
Параметры
self | объект GtkPicture |
Возвращает
TRUE если изображение может быть меньше, чем его содержимое
gtk_picture_set_alternative_text ()
void gtk_picture_set_alternative_text (GtkPicture *self,const char *alternative_text);
Устанавливает альтернативное текстовое описание содержимого изображения. Эквивалентно атрибуту «alt» для изображений на веб-сайтах.
Этот текст будет доступен для средств обеспечения доступности.
Если изображение невозможно описать текстом, установите это свойство в NULL.
Параметры
self | объект GtkPicture | |
alternative_text | текстовое описание содержимого. | [nullable] |
gtk_picture_get_alternative_text ()
const char *
gtk_picture_get_alternative_text (GtkPicture *self); Получает альтернативное текстовое описание изображения или возвращает NULL , если изображение невозможно описать текстом.
Параметры
self | объект GtkPicture |
Возвращает
альтернативное текстовое описание self .
[nullable][transfer none]
Типы и значения
GtkPicture
typedef struct _GtkPicture GtkPicture;
Подробное описание свойств
Свойство “alternative-text”
“alternative-text” char *
Альтернативное текстовое описание изображения.
Владелец: GtkPicture
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “can-shrink”
“can-shrink” gboolean
Если GtkPicture может быть меньше, чем содержащийся в нём элемент.
Владелец: GtkPicture
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “file”
“file” GFile *
GFile , который отображается, или NULL если нет.
Владелец: GtkPicture
Флаги: Чтение / Запись
Свойство “keep-aspect-ratio”
“keep-aspect-ratio” gboolean
Определяет, будет ли GtkPicture пытаться сохранить соотношение сторон содержимого при отрисовке.
Владелец: GtkPicture
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “paintable”
“paintable” GdkPaintable *
GdkPaintable для отображения этим GtkPicture.
Владелец: GtkPicture
Флаги: Чтение / Запись
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkPicture.html