You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt5实例化QPixmap触发-1073740791(0xC0000409)报错如何解决

问题根本原因

触发exit code -1073740791 (0xC0000409)错误的核心原因有两个:

  1. PyQt版本冲突:你的conda虚拟环境中同时存在两个来源、版本不匹配的PyQt依赖:conda源自带的5.9.2版本,和你单独通过pip安装的5.15.4版本。两个版本的Qt底层动态库、Python绑定接口不兼容,调用GUI基础组件时会触发栈缓冲区溢出,对应错误码就是0xC0000409。
  2. 调用逻辑不符合Qt规范:Qt要求所有GUI类(QPixmap、QIcon都属于GUI组件范畴)的实例化操作,必须在QApplication对象初始化完成之后执行,你直接导入后就实例化QPixmap的操作不符合Qt的运行要求。

解决方案

按照以下步骤操作即可解决:

  • 第一步:清理环境中重复的PyQt依赖,避免版本冲突
    依次执行以下命令卸载所有PyQt、Qt相关包:
    pip uninstall -y PyQt5 PyQt5-sip PyQt5-Qt5
    conda remove -y pyqt qt
    
    确认卸载完成后,选择单一渠道安装固定版本的PyQt:
    • 若偏好conda源,执行:conda install pyqt=5.15.4
    • 若偏好pip源,执行:pip install PyQt5==5.15.4
      不要混装两个渠道的PyQt包,避免再次出现版本兼容问题。
  • 第二步:调整代码逻辑,遵循Qt的初始化规范
    正确的测试代码示例如下:
    import sys
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtGui import QPixmap, QIcon
    
    if __name__ == '__main__':
        # 必须优先初始化QApplication实例
        app = QApplication(sys.argv)
        # 再实例化GUI组件
        test_pixmap = QPixmap()
        print("QPixmap创建成功,是否为空:", test_pixmap.isNull())
        test_icon = QIcon()
        print("QIcon创建成功,是否为空:", test_icon.isNull())
    

内容的提问来源于stack exchange,提问作者deponovo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:54:02