PyQt5 QThread在获取某些数据时崩溃

2024-09-30 18:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试执行该代码,但程序运行时没有错误消息。
如果您启动我的程序并单击“收集”按钮,有时它会成功,但我认为有70%的时间它会崩溃
我想这一定是CollectThread类的问题
但我不知道为什么
为什么会发生这种情况?一些好人请回答我

import requests
import pandas as pd
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys
import datetime
import time


class CollectThread(QThread):

    def __init__(self, parent=None):
        super().__init__()
        self.main = parent

    def run(self):
        contents = []
        for i in range(20):
            r = requests.get('http://scoregame.co.kr/game/racing_ajax/moredata/basic/{}'.format(i+1), timeout=None)
            print('fetching {}st data..'.format(i+1))
            for j in r.json():
                contents.append(j)
        print('completed!')

class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        self.th = CollectThread(self)
        self.pushButton = QPushButton('collect!', self)
        self.pushButton.clicked.connect(self.btn_clicked)

   def btn_clicked(self):
       self.th.start()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    app.exec_()

Tags: fromimportselfnoneinitmaindefsys