GtkFixedLayout
GtkFixedLayout — Управляющий макетом, позволяющий задавать позиционирование по фиксированным координатам
Функции
Типы и значения
Иерархия объектов
GObject
├── GtkLayoutChild
│ ╰── GtkFixedLayoutChild
╰── GtkLayoutManager
╰── GtkFixedLayout
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkFixedLayout — это управляющий макет, который может размещать дочерние виджеты в фиксированных позициях и с фиксированными размерами.
Большинству приложений не следует использовать этот управляющий макет; фиксированное позиционирование и размеры требуют постоянных перерасчётов позиций и размеров дочерних элементов. Другие управляющие макеты выполняют эту работу внутренне, чтобы разработчики приложений не должны были её выполнять. В частности, виджеты, размещённые в управляющем макете фиксированной позиции, должны учитывать:
Темы, которые могут изменять размеры виджетов.
Шрифты, отличные от используемого при написании приложения, безусловно, изменят размер виджетов, содержащих текст; имейте в виду, что пользователи могут использовать больший шрифт из-за трудностей чтения по умолчанию, или они могут использовать другую операционную систему, предоставляющую разные шрифты.
Перевод текста на другие языки изменяет его размер. Кроме того, отображение текста, отличного от английского, во многих случаях будет использовать другой шрифт.
Кроме того, GtkFixedLayout не учитывает направление текста и, следовательно, может давать нежелательные результаты, если ваше приложение запускается на языках с направлением справа налево, таких как иврит или арабский. То есть: обычно GTK упорядочивает контейнеры в соответствии с направлением текста, например, чтобы разместить метки справа от того, что они маркируют, при использовании языка справа налево; GtkFixedLayout не сможет сделать это за вас.
Наконец, фиксированное позиционирование усложняет добавление/удаление элементов графического интерфейса, так как вам необходимо перепозиционировать все остальные элементы. Это проблема долгосрочного технического обслуживания вашего приложения.
Функции
gtk_fixed_layout_new ()
GtkLayoutManager *
gtk_fixed_layout_new (void); Создаёт новый GtkFixedLayout.
Возвращает
созданный GtkFixedLayout
gtk_fixed_layout_child_set_transform ()
void gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child,GskTransform *transform);
Устанавливает преобразование дочернего элемента GtkFixedLayout.
Параметры
child | объект GtkFixedLayoutChild | |
transform | объект GskTransform |
gtk_fixed_layout_child_get_transform ()
GskTransform *
gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child); Извлекает преобразование дочернего элемента GtkFixedLayout.
Параметры
child | объект GtkFixedLayoutChild |
Типы и значения
GtkFixedLayout
typedef struct _GtkFixedLayout GtkFixedLayout;
GtkFixedLayoutChild
typedef struct _GtkFixedLayoutChild GtkFixedLayoutChild;
© 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/GtkFixedLayout.html