Process finished with exit code -1073741819 (0xC0000005)

· 正在搜索这个错误的同志,你的窒息,我感同身受!!!

需要说明,这个错误的原因千奇百怪,下文记录的,是我所遇到的情况,供同志们参考。

发生环境:windows 10 / Python 3.7 / Pycharm / PyQt5
错误原因:在子线程中修改主界面控件
解决方法:使用【信号 - 槽】机制,在子线程中抛出信号,主线程中接收信号,完成控件修改

代码示例 👇

import ... ...

# 自定义主界面 (假如你想每过2秒改变一下某个按钮的颜色)
class My_GUI(QtWidgets.QMainWindow, Ui_MainWindow):
    # 这里定义信号
    change_pushbutton_signal = QtCore.pyqtSignal()
    def __init__(self):
        ... ...
        # 初始化中,定义信号连接的槽函数
        self.change_pushbutton_signal.connect(self.change_pushbutton)
    
    # 主线程中新建子线程
    def fun1(self):
        change_thread = threading.Thread(target=self.subthread, daemon=Ture)
        change_thread.start()

    # 此方法已经在子线程中运行
    def subthread(self):
        # 若不使用信号,如下,直接在子线程中修改主界面控件,就会报 0xC0000005 错误
        # self.pushbutton.setStyleSheet('background-color: rgb(182, 182, 182)')
        # time.sleep(2)
        
        # 因此,将上面的动作改为 ↓
        while Ture:
            self.change_pushbutton_signal.emit()
            time.sleep(2)

    # 此方法是在主线中执行的
    def change_pushbutton(self):
        self.pushbutton.setStyleSheet('background-color: rgb(182, 182, 182)')

    ......

以上,我解决了我遇到的 0xC0000005 错误,心脏恢复跳动 ~

另一位同志整理了另外六种情况,如下,大家请对号入座。这个同志是个好人呐!!
· 博主qiao1025566574: pycharm报错:Process finished with exit code -1073741819 (0xC0000005)

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值