如何解决PyQT5:在继续功能之前等待信号
使用PyQt5作为程序的接口,我编写了一个通过单击按钮激活的函数,该函数(除其他外)激活另一个函数,该函数在第一个函数执行其工作时激活在其他对象上工作的线程。 我的问题是,该函数的完成速度比线程快得多,并且我希望程序在继续运行之前等待线程结束,最好使用超时选项。 我知道PyQT5中有信号,并且我知道如何基于给定的信号触发事件,但是,我将如何让程序等待信号出现?
非常感谢您的帮助:)
我想要的示例代码:
class MyClass():
def __init__():
self.first_function()
....
....
def first_function(self):
....
....
self.second_function()
wait_for_signal(timeout=30)
def second_function(self):
....
t = threading.Thread(target=self.thread_func)
t.start()
....
....
def thread_func(self):
....
....
signal.emit()
解决方法
我不确定您到底需要什么,但这是一个函数示例,该函数在开始块信号中并最终激活它们
def show_acte_general(self):
self.comboBox_2.blockSignals(True)
self.comboBox_2.clear()
self.comboBox_4.blockSignals(True)
self.comboBox_4.clear()
self.connection = psycopg2.connect(user="postgres",password="password",host="localhost",database="database")
self.cur = self.connection.cursor()
self.cur.execute('''SELECT items FROM read ORDER BY items ASC;''')
data = self.cur.fetchall()
for actes in data :
self.comboBox_2.addItem(actes[0])
self.comboBox_2.blockSignals(False)
self.comboBox_4.addItem(actes[0])
self.comboBox_4.blockSignals(False)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。