Saya mencoba membiarkan tombol memutar utas baru yang tidak melakukan apa pun selain tidur selama 30 detik. Namun, thread utama diblokir jika slotnya adalah fungsi lambda. Adakah yang tahu mengapa hal ini terjadi dan tidak berperilaku seperti yang saya harapkan? Ini kode saya:
# ...
def setup(self):
# ...
self.pushButton_TestConnection.clicked.connect(self.process)
def process(self):
self.worker_thread = QtCore.QThread()
self.worker = Worker()
self.worker.moveToThread(self.worker_thread)
self.worker_thread.started.connect(lambda: self.worker.sleep(30))
self.worker_thread.start()
class Worker(QtCore.QObject):
def sleep(self, secs):
time.sleep(secs)
Ini berfungsi baik dengan yang berikut ini
self.worker_thread.started.connect(self.worker.sleep)
self.worker_thread.start()
class Worker(QtCore.QObject):
def sleep(self):
time.sleep(30)
Terima kasih