Spec-Zone.ru › GTK 4.0

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);
};

Члены

compute_child_allocation ()

Подробное описание свойств

Свойство “child”

  “child”                    GtkWidget *

Виджет-потомок.

Владелец: GtkFrame

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

Свойство “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

Spec-Zone.ru

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