PySide6.QtCore.QThreadPool().start() (only one signature)

In PyQt6, there are two signatures for the start() method of QThreadPool():

  1. PyQt6.QtCore.QThreadPool().start(QRunnable, priority: int = 0)
  2. PyQt6.QtCore.QThreadPool().start(Callable[[], None], priority: int = 0)

In PyQt6, you don’t need a runnable, just simply pass a callable (a Python function/method) to the start() method (that is some sort of a long-running task) and be done with it.

The second signature of the start() method of QThreadPool() in PyQt6 (listed above) is the only thing that is keeping me away from PySide6, because PySide6 only has one signature for the start() method (only the first signature, listed above).

@martin, will PySide6 ever provide the second signature for the start() method, so that we won’t be forced to create a runnable, but we would be able to simply pass a callable to it?

@martin, this thread probably went passed your radar. No problem. I just wanted to get your take on the matter.

I wrote to the PySide mailing list asking this same question, but got no response after waiting more than a month. Are you in contact with any of the PySide devs?

There’s now a write-up of this new method for running function/methods in threads, available in the FAQ section of the main site here Simple threading in PyQt/PySide apps with .start() of QThreadPool (courtesy of @PedanticHacker )