<div dir="ltr">Hello,<div><br></div><div>I'm currently at work so I don't have code I can share right this second, but I had a sort of epiphany moment and I'm hoping to get some clarification with how threading is normally intended to be executed in a Qt app. </div><div><br></div><div>Backstory: </div><div><br></div><div>I'm using Python3 and PyQt5. I've been trying to make signals and slots and moveToThread work for a couple days now and not having a lot of success. I can implement the toy examples I find around the web, but when I try to re-engineer the examples to do what I want, things start to break down. </div><div><br></div><div>What I've been trying to do is create two classes. One class handles a very basic UI consisting of a couple buttons, and the other class houses a couple recursive functions. Long running, but shortish loops. My goal/idea was I'd have two threads. One main thread for the UI, and a second thread for the long running functions. Pressing a button on the UI would start/stop the functions dynamically, but the thread would constantly be running regardless of if it had meaningful things to do or not.</div><div><br></div><div>Based on the examples I'd read on moveToThread, I thought this would be somewhat simple. Setup some signals to pass information back and forth, instantiate my two classes, and then pass the worker class off to a thread, and presto I'm off to the races. </div><div><br></div><div>Only, I haven't been able to get it to work, and every example I've found of moveToThread is moving an object with only one function/member, usually called run. </div><div><br></div><div>Which brings me to my question: </div><div><br></div><div><b>Does the idea of having a class that holds multiple functions live in another thread permanently make sense? Can a thread even handle that? Is there a better way?</b></div><div><br></div><div>Thanks for any input,</div><div>I'm mostly self taught, so I'm worried I picked up a misconception somewhere or I'm lacking some critical understanding of what's actually going on under the hood.</div><div><br></div><div><br></div><div><br></div></div>