For disconnect: QObject has also a function for disconnecting signals & slots
For thread: The thread has to leave the run() method. If you did not reimplement them, calling QThread::exit() should suffice. Then you must wait until the thread has finished - see QThread documentation