GtkFrame
GtkFrame — Объект с декоративной рамкой и необязательной меткой
Функции
| GtkWidget * | gtk_frame_new () |
| void | gtk_frame_set_label () |
| void | gtk_frame_set_label_widget () |
| void | gtk_frame_set_label_align () |
| void | gtk_frame_set_shadow_type () |
| const gchar * | gtk_frame_get_label () |
| void | gtk_frame_get_label_align () |
| GtkWidget * | gtk_frame_get_label_widget () |
| GtkShadowType | gtk_frame_get_shadow_type () |
Свойства
| gchar * | метка | Чтение / Запись |
| GtkWidget * | элемент-метка | Чтение / Запись |
| gfloat | выравнивание-x метки | Чтение / Запись |
| gfloat | выравнивание-y метки | Чтение / Запись |
| GtkShadowType | тип-тени | Чтение / Запись |
Типы и значения
| struct | GtkFrame |
| struct | GtkFrameClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkFrame ╰── GtkAspectFrame
Реализованные интерфейсы
GtkFrame реализует AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Компонент рамки — это контейнер, который окружает свой дочерний элемент декоративной рамкой и необязательной меткой. Если метка присутствует, она рисуется в зазоре на верхней стороне рамки. Положение метки можно контролировать с помощью gtk_frame_set_label_align().
GtkFrame как GtkBuildable
Реализация GtkFrame интерфейса GtkBuildable поддерживает размещение дочернего элемента в позиции метки, указав «метка» в качестве атрибута «тип» элемента <child>. Обычный дочерний элемент содержимого можно указать без указания атрибута типа <child>.
Пример фрагмента определения пользовательского интерфейса с GtkFrame:
Узлы CSS
<object class="GtkFrame">
<child type="label">
<object class="GtkLabel" id="frame-label"/>
</child>
<child>
<object class="GtkEntry" id="frame-content"/>
</child>
</object>GtkFrame имеет главный узел CSS с именем frame и поднод с именем border. Узел border используется для отрисовки видимой границы. Класс стиля .flat может быть применен к главному узлу.
Функции
gtk_frame_new ()
GtkWidget *
gtk_frame_new (const gchar *label); Создаёт новый GtkFrame с необязательной надписью label . Если label равно NULL, надпись пропускается.
Параметры
label | текст для использования в качестве надписи рамки. | [allow-none] |
Возвращает
новый виджет GtkFrame
gtk_frame_set_label ()
void gtk_frame_set_label (GtkFrame *frame,const gchar *label);
Устанавливает текст надписи. Если label равно NULL, текущая надпись удаляется.
Параметры
frame | элемент GtkFrame | |
label | текст для использования в качестве надписи рамки. | [allow-none] |
gtk_frame_set_label_widget ()
void gtk_frame_set_label_widget (GtkFrame *frame,GtkWidget *label_widget);
Устанавливает виджет надписи для рамки. Это виджет, который будет отображаться в верхней части рамки как заголовок.
Параметры
frame | элемент GtkFrame | |
label_widget | новый виджет надписи. | [nullable] |
gtk_frame_set_label_align ()
void gtk_frame_set_label_align (GtkFrame *frame,gfloat xalign,gfloat yalign);
Устанавливает выравнивание надписи виджета рамки. Значения по умолчанию для недавно созданной рамки — 0,0 и 0,5.
Параметры
frame | элемент GtkFrame | |
xalign | Положение надписи по горизонтали в верхней части виджета. Значение 0,0 соответствует выравниванию по левому краю; 1,0 — по правому. | |
yalign | Вертикальное выравнивание надписи. Значение 0,0 выравнивает надпись под рамкой; 1,0 — над рамкой. Если значения равны 0,0 или 1,0, зазор в рамке не будет нарисован, так как надпись будет полностью расположена над или под рамкой. |
gtk_frame_set_shadow_type ()
void gtk_frame_set_shadow_type (GtkFrame *frame,GtkShadowType type);
Устанавливает тип тени для frame .
Параметры
frame | элемент GtkFrame | |
type | новый GtkShadowType |
gtk_frame_get_label ()
const gchar *
gtk_frame_get_label (GtkFrame *frame); Если виджет надписи рамки — GtkLabel, возвращает текст в виджете надписи. (Рамка будет иметь GtkLabel для виджета надписи, если в gtk_frame_new() был передан аргумент, отличный от NULL.)
Параметры
frame | элемент GtkFrame |
gtk_frame_get_label_align ()
void gtk_frame_get_label_align (GtkFrame *frame,gfloat *xalign,gfloat *yalign);
Возвращает выравнивание X и Y надписи рамки. См. gtk_frame_set_label_align().
gtk_frame_get_label_widget ()
GtkWidget *
gtk_frame_get_label_widget (GtkFrame *frame); Возвращает виджет надписи для рамки. См. gtk_frame_set_label_widget().
Параметры
frame | элемент GtkFrame |
gtk_frame_get_shadow_type ()
GtkShadowType
gtk_frame_get_shadow_type (GtkFrame *frame); Возвращает тип тени рамки. См. gtk_frame_set_shadow_type().
Параметры
frame | элемент GtkFrame |
Возвращает
текущий тип тени рамки.
Типы и значения
struct GtkFrame
struct GtkFrame;
struct GtkFrameClass
struct GtkFrameClass {
GtkBinClass parent_class;
void (*compute_child_allocation) (GtkFrame *frame,
GtkAllocation *allocation);
};
Члены
|
Подробное описание свойств
Свойство “label”
“label” gchar *
Текст метки фрейма.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “label-widget”
“label-widget” GtkWidget *
Виджет для отображения вместо обычной метки фрейма.
Флаги: Чтение / Запись
Свойство “label-xalign”
“label-xalign” gfloat
Горизонтальное выравнивание метки.
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
Свойство “label-yalign”
“label-yalign” gfloat
Вертикальное выравнивание метки.
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0.5
Свойство “shadow-type”
“shadow-type” GtkShadowType
Вид границы фрейма.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_SHADOW_ETCHED_IN
© 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/GtkFrame.html