こんにちは、QThreadクラスを使用してスレッドを作成する際に問題があります。 は、ここに私のコードです:PyQt QThreadによりメインスレッドが終了する
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import QThread
class ScriptRunner(QThread):
def run(self):
print('test')
if __name__ == '__main__':
app = QApplication(sys.argv)
gui = QWidget()
gui.setFixedSize(400, 400)
gui.setVisible(True)
ScriptRunner().start() # this line cause the error
sys.exit(app.exec_())
とき、私のランチScriptRunner().start()
行せずにこのコード、GUIは何の問題もなく働いているが、私は行を追加しない場合、GUIが現れ、非常に迅速かつプログラムに隠されています
/usr/bin/python3.6 /home/karim/upwork/python-qt-rasp/tests/test.py
QThread: Destroyed while thread is still running
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
なぜそれが問題ですか?これらの2つの線は最初の線とまったく同じです。 2番目の編集はうまくいきましたが、なぜスレッドの親を指定する必要があるのか知っていますか? – karim
残念ながら、私はあなたの元のアプローチで何が問題であるか分かりません。 – Szabolcs
ありがとうございました:) – karim