栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Process finished with exit code -1073741819 (0xC0000005)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009331.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号