嗨,我已发送到我的主题工作人员链接到GUI并直接从QThread更新GUI信息。喜欢这里:直接从Qthread更改GUI PyQt 5
class Worker(QThread):
def __init__(self, ui):
QThread.__init__(self)
self.running = False
self.ui = ui
def run(self):
self.running = True
while self.running:
info = self.check_info()
rows = len(info)
self.ui.tableWidget.setRowCount(rows)
self.ui.tableWidget.setColumnCount(6)
...
在主QMainWindow
我只是添加
def __init__(self, parent=None):
.......
self.myworker = Worker(self.ui)
.....
是在PyQt5这样的解决方案很糟糕?我是PyQt的新手。谢谢。如果我的解决方案不好,请帮我修复它。
您不应该在主线程以外的其他线程中更新GUI,您必须使用信号和插槽将信息从辅助线程发送到主线程。 – eyllanesc
什么是info类型? – eyllanesc
我可以通过信号发送任何信息,例如通过执行线程收到的字典列表吗? – Hellbea