test
This commit is contained in:
34
tidal_dl_ng/worker.py
Normal file
34
tidal_dl_ng/worker.py
Normal file
@ -0,0 +1,34 @@
|
||||
from PySide6 import QtCore
|
||||
|
||||
|
||||
# Taken from https://www.pythonguis.com/tutorials/multithreading-pyside6-applications-qthreadpool/
|
||||
class Worker(QtCore.QRunnable):
|
||||
"""
|
||||
Worker thread
|
||||
|
||||
Inherits from QRunnable to handler worker thread setup, signals and wrap-up.
|
||||
|
||||
:param callback: The function callback to run on this worker thread. Supplied args and
|
||||
kwargs will be passed through to the runner.
|
||||
:type callback: function
|
||||
:param args: Arguments to pass to the callback function
|
||||
:param kwargs: Keywords to pass to the callback function
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, fn, *args, **kwargs):
|
||||
super().__init__()
|
||||
# Store constructor arguments (re-used for processing)
|
||||
self.fn = fn
|
||||
self.args = args
|
||||
self.kwargs = kwargs
|
||||
|
||||
@QtCore.Slot() # QtCore.Slot
|
||||
def run(self):
|
||||
"""
|
||||
Initialise the runner function with passed args, kwargs.
|
||||
"""
|
||||
self.fn(*self.args, **self.kwargs)
|
||||
|
||||
def thread(self) -> QtCore.QThread:
|
||||
return QtCore.QThread.currentThread()
|
Reference in New Issue
Block a user