GtkFrame
GtkFrame — Виджет с декоративной рамкой и необязательной меткой
Функции
| GtkWidget * | gtk_frame_new () |
| void | gtk_frame_set_child () |
| GtkWidget * | gtk_frame_get_child () |
| void | gtk_frame_set_label () |
| const char * | gtk_frame_get_label () |
| void | gtk_frame_set_label_widget () |
| GtkWidget * | gtk_frame_get_label_widget () |
| void | gtk_frame_set_label_align () |
| float | gtk_frame_get_label_align () |
Свойства
| GtkWidget * | child | Чтение / Запись |
| char * | label | Чтение / Запись |
| GtkWidget * | label-widget | Чтение / Запись |
| float | label-xalign | Чтение / Запись |
Типы и значения
| struct | GtkFrame |
| struct | GtkFrameClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkFrame
Реализованные интерфейсы
GtkFrame реализует GtkAccessible, GtkBuildable и GtkConstraintTarget.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Виджет рамки — это видет, который окружает свой дочерний видет декоративной рамкой и необязательной меткой. Если метка присутствует, она отображается внутри верхней кромки рамки. Горизонтальное положение метки можно контролировать с помощью gtk_frame_set_label_align().
GtkFrame обрезает свой дочерний видет. Вы можете использовать это для добавления закругленных углов к виджетам, но имейте в виду, что это также обрезает тени.
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», который используется для отрисовки видимой границы. Вы можете настроить внешний вид границы с помощью свойств CSS, таких как «border-style», для этого узла.
Функции
gtk_frame_new ()
GtkWidget *
gtk_frame_new (const char *label); Создаёт новую GtkFrame с необязательной надписью label. Если label равно NULL, надпись опускается.
Параметры
label | текст, используемый в качестве надписи рамки. | [allow-none] |
Возвращает
новый виджет GtkFrame
gtk_frame_set_child ()
void gtk_frame_set_child (GtkFrame *frame,GtkWidget *child);
Устанавливает виджет-потомка для frame.
Параметры
frame | a GtkFrame | |
child | виджет-потомок. | [allow-none] |
gtk_frame_get_child ()
GtkWidget *
gtk_frame_get_child (GtkFrame *frame); Получает виджет-потомок frame.
Параметры
frame | a GtkFrame |
Возвращает
виджет-потомок frame.
[nullable][transfer none]
gtk_frame_set_label ()
void gtk_frame_set_label (GtkFrame *frame,const char *label);
Удаляет текущий “виджет-надписи”. Если label не NULL, создаёт новый GtkLabel с этим текстом и добавляет его в качестве “виджета-надписи”.
Параметры
frame | a GtkFrame | |
label | текст, используемый в качестве надписи рамки. | [allow-none] |
gtk_frame_get_label ()
const char *
gtk_frame_get_label (GtkFrame *frame); Если виджет-надпись рамки — GtkLabel, возвращает текст в виджете-надписи. (У рамки будет GtkLabel для виджета-надписи, если в gtk_frame_new() был передан не-NULL аргумент.)
Параметры
frame | a GtkFrame |
Возвращает
текст в надписи или NULL, если виджета надписи не было или это не был GtkLabel. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.
[nullable]
gtk_frame_set_label_widget ()
void gtk_frame_set_label_widget (GtkFrame *frame,GtkWidget *label_widget);
Устанавливает “виджет-надписи” для рамки. Это виджет, который будет отображаться в верхней части рамки как заголовок.
Параметры
frame | a GtkFrame | |
label_widget | новый виджет-надпись. | [nullable] |
gtk_frame_get_label_widget ()
GtkWidget *
gtk_frame_get_label_widget (GtkFrame *frame); Возвращает виджет-надпись для рамки. Смотрите gtk_frame_set_label_widget().
Параметры
frame | a GtkFrame |
Возвращает
виджет-надпись или NULL, если его нет.
[nullable][transfer none]
gtk_frame_set_label_align ()
void gtk_frame_set_label_align (GtkFrame *frame,float xalign);
Устанавливает выравнивание по оси X надписи виджета рамки. По умолчанию для новой рамки — 0.0.
Параметры
frame | a GtkFrame | |
xalign | Положение надписи по верхней кромке виджета. Значение 0.0 соответствует выравниванию по левому краю; 1.0 — по правому. |
gtk_frame_get_label_align ()
float
gtk_frame_get_label_align (GtkFrame *frame); Возвращает выравнивание по оси X надписи рамки. Смотрите gtk_frame_set_label_align().
Параметры
frame | a GtkFrame |
Типы и значения
struct GtkFrame
struct GtkFrame;
struct GtkFrameClass
struct GtkFrameClass {
GtkWidgetClass parent_class;
void (*compute_child_allocation) (GtkFrame *frame,
GtkAllocation *allocation);
};
Члены
|
Подробное описание свойств
Свойство “label”
“label” char *
Текст надписи рамки.
Владелец: GtkFrame
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “label-widget”
“label-widget” GtkWidget *
Виджет для отображения вместо обычной надписи рамки.
Владелец: GtkFrame
Флаги: Чтение / Запись
Свойство “label-xalign”
“label-xalign” float
Горизонтальное выравнивание надписи.
Владелец: GtkFrame
Флаги: Чтение / Запись
Допустимые значения: [0,1]
Значение по умолчанию: 0
© 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/GtkFrame.html