У меня получилось подобное сделать седующим образом : повесил декоратор на функцию , которая принимает сигнал, тогда основной поток остается работать в программе, когда второй выполняет функцию.
Используемая библиотека pyqt5
к примеру
def thread_my(my_func):
def wrapper(*args, **kwargs):
my_thread = threading.Thread(target=my_func, args=args, kwargs=kwargs)
my_thread.start()
return wrapper
@thread_my
def showDialog(self, true):
print("PUST")
cnt_list = []
rng_contact_view_2 = self.contact_view_2.count()
for x in range(rng_contact_view_2):
cnt_list.append(self.contact_view_2.item(x).text())
val_iter = 0
for contact in cnt_list:
val_iter += 1
self.progress_bar(val_iter, len(cnt_list) + 1)
bot_whatsapp().send_message(contact)
driver.quit()
self.progress_bar_clear()
# Вызов диалогового окна
self.btn_start.clicked.connect(self.showDialog)