DialogTask - Пользовательская задача с диалогом

class axipy.DialogTask

Пользовательская задача с диалогом. Наследуется от класса axipy.Task. Дополняет класс axipy.Task диалогом, показывающим прогресс задачи.

См.также

axipy.run_in_gui()

Конструктор класса:

__init__(function[, name, description, ...])

Создает экземпляр класса.

Свойства:

cancelable

Возвращает True, если в диалоге есть кнопка отмены.

delayed

Возвращает True, если в диалоге есть задержка перед показом.

description

Возвращает описание задачи.

id

Возвращает идентификатор задачи.

infinite_progress

Возвращает или устанавливает бесконечную полоску прогресса для задачи.

is_canceled

Возвращает True, если задача была отменена.

max

Устанавливает или возвращает максимальное значение диапазона прогресса задачи.

message

Устанавливает или возвращает отображаемое описание задачи.

min

Устанавливает или возвращает минимальное значение диапазона прогресса задачи.

name

Возвращает имя задачи.

range

Устанавливает или возвращает диапазон прогресса задачи.

result

Возвращает результат задачи.

status

Возвращает текущее состояние задачи.

thread_id

Возвращает идентификатор потока в котором выполняется задача.

title

Устанавливает или возвращает отображаемое имя задачи.

value

Устанавливает или возвращает текущее значение прогресса задачи.

Методы:

cancel()

Уведомляет задачу об отмене.

raise_if_canceled([message])

Вызывает исключение об отмене задачи axipy.Task.CanceledException.

run_and_get(*args, **kwargs)

Запускает задачу и ждет результат.

start(*args, **kwargs)

Запускает задачу без ожидания результата.

Сигналы:

finished

Возвращает сигнал, испускаемый при завершении задачи.

message_changed

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

range_changed

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

started

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

title_changed

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

value_changed

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

Исключения:

CanceledException

Исключение при отмене задачи.

Классы:

Range

Диапазон прогресса задачи.

Status

Состояние задачи.

exception CanceledException

Исключение при отмене задачи.

class Range

Диапазон прогресса задачи.

Атрибуты:

max

Максимальное значение прогресса задачи.

min

Минимальное значение прогресса задачи.

class Status

Состояние задачи.

Атрибуты:

IDLE

В ожидании.

RUNNING

Запущена.

SUCCESS

Выполнена успешно.

CANCELED

Отменена.

ERROR

Завершилась с ошибкой.

__init__(function: Callable, name: str = '', description: str = '', title: str = '', message: str = '', cancelable: bool = False, delayed: bool = True)

Создает экземпляр класса.

Параметры:
  • function – Функция.

  • name – Имя.

  • description – Описание.

  • title – Отображаемое имя.

  • message – Отображаемое описание.

  • cancelable – Добавить кнопку отмены в диалог.

  • delayed – Добавить задержку перед показом диалога.

cancel()

Уведомляет задачу об отмене. Устанавливает свойство axipy.Task.is_canceled на True и меняет состояние задачи axipy.Task.status на axipy.Task.Status.CANCELED. Вызов метода при статусе axipy.Task.Status.IDLE также удалит задачу из axipy.task_manager. Метод является слотом, Slot() (PySide2.QtCore.Slot).

property cancelable: bool

Возвращает True, если в диалоге есть кнопка отмены.

property delayed: bool

Возвращает True, если в диалоге есть задержка перед показом.

property description: str

Возвращает описание задачи.

property finished: Signal

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

Тип результата:

Signal[axipy.Task]

property id: int

Возвращает идентификатор задачи. Идентификатором задачи является её порядковый номер в менеджере задач axipy.task_manager.

property infinite_progress: bool

Возвращает или устанавливает бесконечную полоску прогресса для задачи. Возвращает True, если бесконечный прогресс установлен, иначе возвращает False. При изменении значения на False, восстанавливает предыдущее значения прогресса. При изменениях значения свойства, сигнал axipy.Task.range_changed не вызывается.

property is_canceled: bool

Возвращает True, если задача была отменена. Чтобы отменить задачу (назначить True для свойства axipy.Task.is_canceled), нужно вызвать axipy.Task.cancel().

property max: float

Устанавливает или возвращает максимальное значение диапазона прогресса задачи.

property message: str

Устанавливает или возвращает отображаемое описание задачи.

property message_changed: Signal

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

Тип результата:

Signal[str]

property min: float

Устанавливает или возвращает минимальное значение диапазона прогресса задачи.

property name: str

Возвращает имя задачи.

raise_if_canceled(message: Optional[str] = None)

Вызывает исключение об отмене задачи axipy.Task.CanceledException.

Параметры:

message – Сообщение, передаваемое в исключение.

property range: Range

Устанавливает или возвращает диапазон прогресса задачи.

property range_changed: Signal

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

Тип результата:

Signal[axipy.Task.Range]

property result: Any

Возвращает результат задачи. (Возвращаемое значение пользовательской функции.) Если во время выполнения задачи, было вызвано исключение, то при получении результата, исключение будет вызвано повторно (За исключением пользовательской отмены axipy.Task.CanceledException).

Исключение:

Exception – Если во время выполнения задачи, было вызвано исключение.

run_and_get(*args, **kwargs) Any

Запускает задачу и ждет результат. Останавливается лишь выполнение кода python, цикл обработки событий Qt продолжает работу. (Сигналы и события продолжают обрабатываться.) Возвращает результат задачи. (Возвращаемое значение пользовательской функции.) Если во время выполнения задачи, было вызвано исключение, то при получении результата, исключение будет вызвано повторно (За исключением пользовательской отмены axipy.Task.CanceledException).

Параметры:
  • *args – Параметры, передаваемые в пользовательскую функцию.

  • **kwargs – Именованные параметры, передаваемые в пользовательскую функцию.

Результат:

Результат выполнения задачи. (Возвращаемое значение пользовательской функции.)

Исключение:

Exception – Если во время выполнения задачи, было вызвано исключение.

start(*args, **kwargs)

Запускает задачу без ожидания результата. Чтобы получить результат, необходимо подписаться на сигнал axipy.Task.finished и обратиться к свойству axipy.Task.result.

Параметры:
  • *args – Параметры, передаваемые в пользовательскую функцию.

  • **kwargs – Именованные параметры, передаваемые в пользовательскую функцию.

property started: Signal

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

Тип результата:

Signal[]

property status: Status

Возвращает текущее состояние задачи.

property thread_id: Optional[int]

Возвращает идентификатор потока в котором выполняется задача. Когда задача не выполняется, возвращает None.

property title: str

Устанавливает или возвращает отображаемое имя задачи.

property title_changed: Signal

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

Тип результата:

Signal[str]

property value: float

Устанавливает или возвращает текущее значение прогресса задачи.

property value_changed: Signal

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

Тип результата:

Signal[str]