naturtag.app.threadpool module¶
Adapted from examples in Python & Qt6 by Martin Fitzpatrick
- class naturtag.app.threadpool.ProgressBar(**kwargs)¶
Bases:
QProgressBar
Shared progress bar, updated by ThreadPool
- add(amount=1)¶
- advance(amount=1)¶
- fadein()¶
- fadeout()¶
- reset(self) None ¶
- schedule_reset()¶
After a delay, if no new tasks have been added, reset and hide the progress bar
- staticMetaObject = PySide6.QtCore.QMetaObject("ProgressBar" inherits "QProgressBar": Methods: #40 type=Slot, signature=advance(int), parameters=int )¶
- class naturtag.app.threadpool.ThreadPool(n_worker_threads=0, **kwargs)¶
Bases:
QThreadPool
Thread pool that enqueues jobs to ber run from separate thread(s), and updates a progress bar.
- cancel()¶
Cancel all queued tasks and reset progress bar. Currently running tasks will be allowed to complete.
- schedule(callback, priority=Priority.NormalPriority, total_results=None, increment_length=False, **kwargs)¶
Schedule a task to be run by the next available worker thread
- Return type:
- staticMetaObject = PySide6.QtCore.QMetaObject("ThreadPool" inherits "QThreadPool": )¶
- class naturtag.app.threadpool.Worker(callback, increment_length=False, **kwargs)¶
Bases:
QRunnable
A worker thread that takes a callback (and optional args/kwargs), and updates progress when done.
- run(self) None ¶
- class naturtag.app.threadpool.WorkerSignals¶
Bases:
QObject
Signals used by a worker thread (can’t be set directly on a QRunnable)
- on_error¶
Return exception info on error
- on_progress¶
Increment progress bar
- on_result¶
Return result on completion
- staticMetaObject = PySide6.QtCore.QMetaObject("WorkerSignals" inherits "QObject": Methods: #4 type=Signal, signature=on_error(PyObject), parameters=PyObject #5 type=Signal, signature=on_result(PyObject), parameters=PyObject #6 type=Signal, signature=on_progress(int), parameters=int )¶