GtkFixed
GtkFixed — Контейнер, позволяющий размещать виджеты в фиксированных координатах
Функции
| GtkWidget * | gtk_fixed_new () |
| void | gtk_fixed_put () |
| void | gtk_fixed_move () |
Типы и значения
| struct | GtkFixed |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkFixed
Реализованные интерфейсы
GtkFixed реализует AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Виджет GtkFixed — это контейнер, который может размещать дочерние виджеты в фиксированных позициях и с фиксированными размерами, заданными в пикселях. GtkFixed не выполняет автоматическое управление макетом.
Для большинства приложений вы не должны использовать этот контейнер! Он избавляет вас от необходимости изучать другие контейнеры GTK+, но приводит к неработающим приложениям. При использовании GtkFixed произойдут следующие проблемы:
Стили, которые могут изменить размеры виджетов.
Шрифты, отличные от используемого в приложении, изменят размер виджетов, содержащих текст. Учитывайте, что пользователи могут использовать больший шрифт из-за трудностей с чтением стандартного, или они могут использовать Windows или фреймбуферную версию 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;
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkFixed.html