【发布时间】:2019-11-01 08:43:16
【问题描述】:
由于 Qtcore.Signal,我想使用 PySide2 Qtcore.Qthread,但我最终得到了这个错误: 进程以退出代码 -1073740791 结束
from PySide2.QtCore import QThread
class Thread(QThread):
def run(self):
print('task started')
k = 0
for i in range(10000):
for j in range(5000):
k += 1
print('task finished')
Thread().start()
希望有这些打印,但我有这个错误:
进程以退出代码 -1073740791 结束
更新:
那么,为什么这段代码也会抛出同样的错误?
class Thread(QThread):
done = Signal()
def __init__(self):
super(Thread, self).__init__()
def run(self):
print('task started')
k = 0
for i in range(10000):
for j in range(5000):
k += 1
print('task finished')
self.done.emit()
class Widget(QtWidgets.QWidget):
def __init__(self):
super(Widget, self).__init__()
btn = QtWidgets.QPushButton('test', parent=self)
btn.clicked.connect(self.clicked)
btn.show()
def clicked(self):
t = Thread()
t.done.connect(self.done)
t.start()
def done(self):
print('done')
app = QtWidgets.QApplication()
window = Widget()
window.show()
sys.exit(app.exec_())
【问题讨论】: