DialogTask - Пользовательская задача с диалогом
- class axipy.DialogTask
Пользовательская задача с диалогом. Наследуется от класса
axipy.Task
. Дополняет классaxipy.Task
диалогом, показывающим прогресс задачи.См.также
Конструктор класса:
__init__
(function[, name, description, ...])Создает экземпляр класса.
Свойства:
Возвращает True, если в диалоге есть кнопка отмены.
Возвращает True, если в диалоге есть задержка перед показом.
Возвращает описание задачи.
Возвращает идентификатор задачи.
Возвращает или устанавливает бесконечную полоску прогресса для задачи.
Возвращает True, если задача была отменена.
Устанавливает или возвращает максимальное значение диапазона прогресса задачи.
Устанавливает или возвращает отображаемое описание задачи.
Устанавливает или возвращает минимальное значение диапазона прогресса задачи.
Возвращает имя задачи.
Устанавливает или возвращает диапазон прогресса задачи.
Возвращает результат задачи.
Возвращает текущее состояние задачи.
Возвращает идентификатор потока в котором выполняется задача.
Устанавливает или возвращает отображаемое имя задачи.
Устанавливает или возвращает текущее значение прогресса задачи.
Методы:
cancel
()Уведомляет задачу об отмене.
raise_if_canceled
([message])Вызывает исключение об отмене задачи
axipy.Task.CanceledException
.run_and_get
(*args, **kwargs)Запускает задачу и ждет результат.
start
(*args, **kwargs)Запускает задачу без ожидания результата.
Сигналы:
Возвращает сигнал, испускаемый при завершении задачи.
Возвращает сигнал, испускаемый при изменении отображаемого описании задачи.
Возвращает сигнал, испускаемый при изменении диапазона прогресса задачи.
Возвращает сигнал, испускаемый при старте задачи.
Возвращает сигнал, испускаемый при изменении отображаемого имени задачи.
Возвращает сигнал, испускаемый при изменении текущего значения прогресса задачи.
Исключения:
Исключение при отмене задачи.
Классы:
Диапазон прогресса задачи.
Состояние задачи.
- 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 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 message_changed: Signal
Возвращает сигнал, испускаемый при изменении отображаемого описании задачи.
- Тип результата:
Signal[str]
- raise_if_canceled(message: Optional[str] = None)
Вызывает исключение об отмене задачи
axipy.Task.CanceledException
.- Параметры:
message – Сообщение, передаваемое в исключение.
- 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 thread_id: Optional[int]
Возвращает идентификатор потока в котором выполняется задача. Когда задача не выполняется, возвращает None.