Spec-Zone.ru › GTK 3.24

GtkProgressBar

GtkProgressBar — Виджет, визуально отображающий прогресс

Функции

GtkWidget * gtk_progress_bar_new ()
void gtk_progress_bar_pulse ()
void gtk_progress_bar_set_fraction ()
gdouble gtk_progress_bar_get_fraction ()
void gtk_progress_bar_set_inverted ()
gboolean gtk_progress_bar_get_inverted ()
void gtk_progress_bar_set_show_text ()
gboolean gtk_progress_bar_get_show_text ()
void gtk_progress_bar_set_text ()
const gchar * gtk_progress_bar_get_text ()
void gtk_progress_bar_set_ellipsize ()
PangoEllipsizeMode gtk_progress_bar_get_ellipsize ()
void gtk_progress_bar_set_pulse_step ()
gdouble gtk_progress_bar_get_pulse_step ()

Свойства

PangoEllipsizeMode ellipsize Чтение / Запись
double fraction Чтение / Запись
gboolean inverted Чтение / Запись
double pulse-step Чтение / Запись
gboolean show-text Чтение / Запись
char * text Чтение / Запись

Стилизованные свойства

int min-horizontal-bar-height Чтение / Запись
int min-horizontal-bar-width Чтение / Запись
int min-vertical-bar-height Чтение / Запись
int min-vertical-bar-width Чтение / Запись
int xspacing Чтение / Запись
int yspacing Чтение / Запись

Типы и значения

struct GtkProgressBar

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkProgressBar

Реализованные интерфейсы

GtkProgressBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkProgressBar обычно используется для отображения прогресса длительной операции. Он предоставляет визуальную подсказку о том, что обработка выполняется. GtkProgressBar может использоваться в двух различных режимах: процентном и режиме активности.

Когда приложение может определить объём работы (например, прочитать фиксированное количество байтов из файла) и отслеживать его прогресс, оно может использовать GtkProgressBar в процентном режиме, и пользователь увидит растущую полосу, отображающую процент завершённой работы. В этом режиме приложение должно периодически вызывать gtk_progress_bar_set_fraction(), чтобы обновить полосу прогресса.

Когда приложение не имеет точного представления об объёме работы, оно может использовать GtkProgressBar в режиме активности, который показывает активность перемещением блока вперёд-назад в области прогресса. В этом режиме приложение должно периодически вызывать gtk_progress_bar_pulse(), чтобы обновить полосу прогресса.

Предоставляется значительная гибкость для управления внешним видом GtkProgressBar. Предусмотрены функции для управления ориентацией полосы, можно отображать необязательный текст вместе с полосой и устанавливать шаг, используемый в режиме активности.

CSS-узлы

progressbar[.osd]
├── [text]
╰── trough[.empty][.full]
    ╰── progress[.pulse]

GtkProgressBar имеет основной CSS-узел с именем progressbar и дочерние узлы с именами text и trough, последний из которых имеет дочерний узел progress. Дочерний узел text присутствует только если отображается текст. Дочерний узел progress имеет класс стиля .pulse, когда используется режим активности. К нему добавляются классы стиля .left, .right, .top или .bottom, когда прогресс «достигает» соответствующего конца GtkProgressBar. Класс .osd на узле progressbar используется для наложений, например, для отображения прогресса загрузки страницы в Epiphany.

Функции

gtk_progress_bar_new ()

GtkWidget *
gtk_progress_bar_new (void);

Создаёт новую GtkProgressBar.

Возвращаемое значение

GtkProgressBar.

gtk_progress_bar_pulse ()

void
gtk_progress_bar_pulse (GtkProgressBar *pbar);

Указывает, что определённый прогресс достигнут, но неизвестно, насколько большой он. Приводит полосу прогресса в «режим активности», где блок перемещается вперёд и назад. Каждый вызов gtk_progress_bar_pulse() смещает блок немного (величина смещения определяется gtk_progress_bar_set_pulse_step()).

Параметры

pbar

GtkProgressBar

gtk_progress_bar_set_fraction ()

void
gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
                               gdouble fraction);

Заставляет полосу прогресса заполниться заданной долей. Доля должна быть в диапазоне от 0,0 до 1,0 включительно.

Параметры

pbar

GtkProgressBar

fraction

доля выполненной задачи

gtk_progress_bar_get_fraction ()

gdouble
gtk_progress_bar_get_fraction (GtkProgressBar *pbar);

Возвращает текущую долю выполненной задачи.

Параметры

pbar

GtkProgressBar

Возвращаемое значение

доля от 0,0 до 1,0

gtk_progress_bar_set_inverted ()

void
gtk_progress_bar_set_inverted (GtkProgressBar *pbar,
                               gboolean inverted);

Обычно полосы прогресса заполняются сверху вниз или слева направо. Инвертированные полосы прогресса заполняются в обратном направлении.

Параметры

pbar

GtkProgressBar

inverted

TRUE для инвертирования полосы прогресса

gtk_progress_bar_get_inverted ()

gboolean
gtk_progress_bar_get_inverted (GtkProgressBar *pbar);

Получает значение, установленное функцией gtk_progress_bar_set_inverted().

Параметры

pbar

GtkProgressBar

Возвращаемое значение

TRUE если полоса прогресса инвертирована

gtk_progress_bar_set_show_text ()

void
gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
                                gboolean show_text);

Устанавливает, будет ли полоса прогресса отображать текст рядом с полосой. Отображаемый текст — это либо значение свойства “text”, либо, если оно NULL, значение свойства “fraction” в процентах.

Чтобы сделать полосу прогресса, подходящую по стилю и размеру для отображения текста (даже если сам текст пустой), установите “show-text” в TRUE и “text” в пустую строку (не NULL).

Параметры

pbar

GtkProgressBar

show_text

отображать текст

С версии: 3.0

gtk_progress_bar_get_show_text ()

gboolean
gtk_progress_bar_get_show_text (GtkProgressBar *pbar);

Получает значение свойства “show-text”. См. gtk_progress_bar_set_show_text().

Параметры

pbar

GtkProgressBar

Возвращаемое значение

TRUE если текст отображается в полосе прогресса

С версии: 3.0

gtk_progress_bar_set_text ()

void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
                           const gchar *text);

Заставляет указанный text отображаться рядом с полосой прогресса.

Если text пустое и “show-text” установлено, то текущее значение “fraction” будет отображено в процентах.

Если text не пустое и “show-text” установлено, то отобразится текст. В этом случае не будет отображаться процент прогресса. Если text пустая строка, полоса прогресса всё равно будет отформатирована и размещена для отображения текста, если “show-text” установлено.

Параметры

pbar

GtkProgressBar

text

строка UTF-8 или NULL.

[allow-none]

gtk_progress_bar_get_text ()

const gchar *
gtk_progress_bar_get_text (GtkProgressBar *pbar);

Возвращает отображаемый текст полосы прогресса, если таковой имеется, в противном случае NULL. Возвращаемое значение — ссылка на текст, а не его копия, поэтому оно становится недействительным при изменении текста в полосе прогресса.

Параметры

pbar

GtkProgressBar

Возвращаемое значение

текст или NULL; эта строка принадлежит виджету и не должна изменяться или освобождаться.

[nullable]

gtk_progress_bar_set_ellipsize ()

void
gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
                                PangoEllipsizeMode mode);

Устанавливает режим обрезки текста (добавления многоточия "...") если текста недостаточно для его полного отображения.

Параметры

pbar

GtkProgressBar

mode

PangoEllipsizeMode

С версии: 2.6

gtk_progress_bar_get_ellipsize ()

PangoEllipsizeMode
gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);

Возвращает позицию обрезания полосы прогресса. См. gtk_progress_bar_set_ellipsize().

Параметры

pbar

объект GtkProgressBar

Возвращаемое значение

PangoEllipsizeMode

С версии: 2.6

gtk_progress_bar_set_pulse_step ()

void
gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
                                 gdouble fraction);

Устанавливает долю длины полосы прогресса, на которую смещается блочная анимация при каждом вызове gtk_progress_bar_pulse().

Параметры

pbar

объект GtkProgressBar

fraction

значение от 0,0 до 1,0

gtk_progress_bar_get_pulse_step ()

gdouble
gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar);

Возвращает значение шага пульсации, установленное с помощью gtk_progress_bar_set_pulse_step().

Параметры

pbar

объект GtkProgressBar

Возвращаемое значение

значение от 0,0 до 1,0

Типы и значения

struct GtkProgressBar

struct GtkProgressBar;

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

Свойство “ellipsize”

  “ellipsize”                PangoEllipsizeMode

Предпочтительное место обрезания строки, если полоса прогресса не может отобразить всю строку, задаётся как PangoEllipsizeMode.

Обратите внимание, что установка этого свойства на значение отличное от PANGO_ELLIPSIZE_NONE приведёт к тому, что полоса прогресса запросит только необходимое пространство для отображения многоточия ("..."). Другой способ установить ширину полосы прогресса — gtk_widget_set_size_request().

Владелец: GtkProgressBar

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

Значение по умолчанию: PANGO_ELLIPSIZE_NONE

С версии: 2.6

Свойство “fraction”

  “fraction”                 double

Доля выполненной работы.

Владелец: GtkProgressBar

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

Допустимые значения: [0,1]

Значение по умолчанию: 0

Свойство “inverted”

  “inverted”                 gboolean

Инвертировать направление роста полосы прогресса.

Владелец: GtkProgressBar

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

Значение по умолчанию: FALSE

Свойство “pulse-step”

  “pulse-step”               double

Доля прогресса, на которую смещается блочная анимация при пульсации.

Владелец: GtkProgressBar

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

Допустимые значения: [0,1]

Значение по умолчанию: 0.1

Свойство “show-text”

  “show-text”                gboolean

Устанавливает, будет ли полоса прогресса отображать текст в дополнение к самой полосе. Отображаемый текст — значение свойства “text”, или, если оно NULL, значение свойства “fraction” в процентах.

Чтобы сделать полосу прогресса, подходящую для отображения текста (даже если сам текст пустой), установите “show-text” в TRUE и “text” в пустую строку (не NULL).

Владелец: GtkProgressBar

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

Значение по умолчанию: FALSE

С версии: 3.0

Свойство “text”

  “text”                     char *

Текст, который нужно отобразить в полосе прогресса.

Владелец: GtkProgressBar

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

Значение по умолчанию: NULL

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

Свойство стиля “min-horizontal-bar-height”

  “min-horizontal-bar-height” int

Минимальная высота горизонтальной полосы прогресса.

GtkProgressBar:min-horizontal-bar-height устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартное свойство CSS min-height.

Владелец: GtkProgressBar

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

Допустимые значения: >= 1

Значение по умолчанию: 6

С версии: 2.14

Свойство стиля “min-horizontal-bar-width”

  “min-horizontal-bar-width” int

Минимальная ширина горизонтальной полосы прогресса.

GtkProgressBar:min-horizontal-bar-width устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартное свойство CSS min-width.

Владелец: GtkProgressBar

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

Допустимые значения: >= 1

Значение по умолчанию: 150

С версии: 2.14

Свойство стиля “min-vertical-bar-height”

  “min-vertical-bar-height”  int

Минимальная высота вертикальной полосы прогресса.

GtkProgressBar:min-vertical-bar-height устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартное свойство CSS min-height.

Владелец: GtkProgressBar

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

Допустимые значения: >= 1

Значение по умолчанию: 80

С версии: 2.14

Свойство стиля “min-vertical-bar-width”

  “min-vertical-bar-width”   int

Минимальная ширина вертикальной полосы прогресса.

GtkProgressBar:min-vertical-bar-width устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартное свойство CSS min-width.

Владелец: GtkProgressBar

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

Допустимые значения: >= 1

Значение по умолчанию: 7

С версии: 2.14

Свойство стиля “xspacing”

  “xspacing”                 int

Дополнительное пространство, добавляемое к ширине полосы прогресса.

GtkProgressBar:xspacing устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартные свойства CSS padding и margin; значение этого свойства стиля игнорируется.

Владелец: GtkProgressBar

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

Допустимые значения: >= 0

Значение по умолчанию: 2

Свойство стиля “yspacing”

  “yspacing”                 int

Дополнительное пространство, добавляемое к высоте полосы прогресса.

GtkProgressBar:yspacing устарел с версии 3.20 и не должен использоваться в новых кодах.

Используйте стандартные свойства CSS padding и margin; значение этого свойства стиля игнорируется.

Владелец: GtkProgressBar

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

Допустимые значения: >= 0

Значение по умолчанию: 2

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkProgressBar.html

Spec-Zone.ru

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