Spec-Zone.ru › GTK 3.22

GtkFixed

GtkFixed — Контейнер, позволяющий размещать виджеты в фиксированных координатах

Функции

GtkWidget * gtk_fixed_new ()
void gtk_fixed_put ()
void gtk_fixed_move ()

Свойства дочерних элементов

gint x Чтение/Запись
gint y Чтение/Запись

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

struct GtkFixed

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkFixed

Реализованные интерфейсы

GtkFixed реализует AtkImplementorIface и GtkBuildable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

Виджет GtkFixed — контейнер, который может размещать дочерние виджеты в фиксированных позициях и с фиксированными размерами, заданными в пикселях. GtkFixed не выполняет автоматического управления макетом.

Для большинства приложений вам не следует использовать этот контейнер! Он избавляет вас от необходимости изучать другие контейнеры GTK+, но приводит к ошибкам в приложениях. С помощью GtkFixed следующие вещи приведут к обрезке текста, перекрытию виджетов и другим ошибкам отображения:

  • Стили, которые могут изменить размеры виджетов.

  • Шрифты, отличные от использованного при написании приложения, конечно, изменят размер виджетов, содержащих текст; имейте в виду, что пользователи могут использовать больший шрифт из-за трудностей с чтением стандартного шрифта, или они могут использовать Windows или framebuffer-порт GTK+, где доступны различные шрифты.

  • Перевод текста на другие языки изменяет его размер. Кроме того, отображение текста, отличного от английского, во многих случаях будет использовать другой шрифт.

Кроме того, фиксированное позиционирование не может правильно отображаться в языках с письмом справа налево, таких как иврит и арабский. То есть обычно GTK+ переворачивает интерфейс, чтобы поместить метки справа от того, что они маркируют, но с GtkFixed это невозможно. Поэтому ваше приложение не будет работать в языках с письмом справа налево.

Наконец, фиксированное позиционирование делает добавление/удаление элементов пользовательского интерфейса довольно раздражающим, так как вам нужно перепозиционировать все остальные элементы. Это проблема долгосрочного обслуживания вашего приложения.

Если ни одна из этих проблем не является проблемой для вашего приложения, и вам нравится простота GtkFixed, смело используйте виджет. Но вы должны знать о компромиссах.

Функции

gtk_fixed_new ()

GtkWidget *
gtk_fixed_new (void);

Создаёт новый GtkFixed.

Возвращаемое значение

новый GtkFixed.

gtk_fixed_put ()

void
gtk_fixed_put (GtkFixed *fixed,
               GtkWidget *widget,
               gint x,
               gint y);

Добавляет виджет в контейнер GtkFixed в заданной позиции.

Параметры

fixed

объект GtkFixed.

widget

виджет для добавления.

x

горизонтальная позиция для размещения виджета.

y

вертикальная позиция для размещения виджета.

gtk_fixed_move ()

void
gtk_fixed_move (GtkFixed *fixed,
                GtkWidget *widget,
                gint x,
                gint y);

Перемещает дочерний элемент контейнера GtkFixed в заданную позицию.

Параметры

fixed

объект GtkFixed.

widget

дочерний виджет.

x

горизонтальная позиция для перемещения виджета.

y

вертикальная позиция для перемещения виджета.

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

struct GtkFixed

struct GtkFixed;

Подробное описание свойств дочерних элементов

Свойство дочернего элемента “x”

  “x”                        gint

Горизонтальная позиция дочернего виджета.

Флаги: Чтение/Запись

Значение по умолчанию: 0

Свойство дочернего элемента “y”

  “y”                        gint

Вертикальная позиция дочернего виджета.

Флаги: Чтение/Запись

Значение по умолчанию: 0

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkFixed.html

Spec-Zone.ru

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