Spec-Zone.ru › GTK 3.22

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 Чтение / Запись
gdouble fraction Чтение / Запись
gboolean inverted Чтение / Запись
gdouble pulse-step Чтение / Запись
gboolean show-text Чтение / Запись
gchar * text Чтение / Запись

Свойства стиля

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

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

структура 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]
╰── trough
    ├── [text]
    ╰── 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 равен NULL, а “show-text” равен TRUE, отображается текущее значение “fraction” в процентах.

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

Параметры

pbar

GtkProgressBar

text

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

[allow-none]

gtk_progress_bar_get_text ()

const gchar *
gtk_progress_bar_get_text (GtkProgressBar *pbar);

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

Параметры

pbar

a GtkProgressBar

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

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

[nullable]

gtk_progress_bar_set_ellipsize ()

void
gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
                                PangoEllipsizeMode mode);

Устанавливает режим усечения (добавления многоточия: "...") текста, если для отображения всей строки недостаточно места.

Параметры

pbar

a GtkProgressBar

mode

a PangoEllipsizeMode

С: 2.6

gtk_progress_bar_get_ellipsize ()

PangoEllipsizeMode
gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);

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

Параметры

pbar

a 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

a 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

a GtkProgressBar

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

дробь от 0.0 до 1.0

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

struct GtkProgressBar

struct GtkProgressBar;

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

Свойство “ellipsize”

  “ellipsize”                PangoEllipsizeMode

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

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

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

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

С: 2.6

Свойство “fraction”

  “fraction”                 gdouble

Доля от общего объёма работы, которая была выполнена.

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

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

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

Свойство “inverted”

  “inverted”                 gboolean

Инвертировать направление, в котором растёт полоса прогресса.

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

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

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

  “pulse-step”               gdouble

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

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

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

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

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

  “show-text”                gboolean

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

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

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

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

С: 3.0

Свойство “text”

  “text”                     gchar *

Текст, отображаемый в полосе прогресса.

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

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

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

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

  “min-horizontal-bar-height” gint

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

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

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

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

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

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

С версии: 2.14

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

  “min-horizontal-bar-width” gint

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

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

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

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

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

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

С версии: 2.14

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

  “min-vertical-bar-height”  gint

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

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

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

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

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

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

С версии: 2.14

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

  “min-vertical-bar-width”   gint

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

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

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

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

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

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

С версии: 2.14

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

  “xspacing”                 gint

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

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

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

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

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

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

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

  “yspacing”                 gint

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

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

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

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

Допустимые значения: >= 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.22/GtkProgressBar.html

Spec-Zone.ru

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