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 * | label | Чтение / Запись |
| GtkWidget * | label-widget | Чтение / Запись |
| gfloat | label-xalign | Чтение / Запись |
| gfloat | label-yalign | Чтение / Запись |
| GtkShadowType | shadow-type | Чтение / Запись |
Типы и Значения
| 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 поддерживает размещение дочернего элемента в позиции надписи путем указания “label” в качестве атрибута “type” элемента <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 | ||
label | текст, используемый в качестве метки рамки. | [allow-none] |
gtk_frame_set_label_widget ()
void gtk_frame_set_label_widget (GtkFrame *frame,GtkWidget *label_widget);
Устанавливает виджет метки для рамки. Это виджет, который будет отображаться внутри верхней кромки рамки в качестве заголовка.
Параметры
frame | ||
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 | ||
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 | ||
type | новый тип GtkShadowType |
gtk_frame_get_label ()
const gchar *
gtk_frame_get_label (GtkFrame *frame); Если виджет метки рамки — GtkLabel, возвращает текст в виджете метки. (Рамка будет иметь GtkLabel в качестве виджета метки, если в gtk_frame_new() был передан не-NULL аргумент.)
Параметры
frame |
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 |
gtk_frame_get_shadow_type ()
GtkShadowType
gtk_frame_get_shadow_type (GtkFrame *frame); Извлекает тип тени рамки. См. gtk_frame_set_shadow_type().
Параметры
frame |
Возвращает
текущий тип тени рамки.
Типы и значения
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.20/GtkFrame.html