Spec-Zone.ru › GTK 4.0

GtkFixedLayout

GtkFixedLayout — Управляющий макетом, позволяющий задавать позиционирование по фиксированным координатам

Функции

GtkLayoutManager * gtk_fixed_layout_new ()
void gtk_fixed_layout_child_set_transform ()
GskTransform * gtk_fixed_layout_child_get_transform ()

Типы и значения

GtkFixedLayout
GtkFixedLayoutChild

Иерархия объектов

    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

Возвращает

объект GskTransform.

[transfer none][nullable]

Типы и значения

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API