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

自制PyQt5网页浏览器启动即崩溃,提示Python已停止运行怎么解决?

问题原因

崩溃日志中的故障模块ig4icd32.dll是英特尔集成显卡的32位OpenGL驱动文件,异常代码c0000005属于内存访问越界错误,触发崩溃的核心原因是:
QWebEngineView默认启用GPU硬件加速渲染网页,你当前设备搭载的旧版英特尔核显驱动(适配Windows 7系统)对新版PyQt5的WebEngine硬件加速接口适配存在缺陷,调用渲染接口时触发驱动层的内存访问错误,直接导致程序启动即崩溃。
你编写的业务代码本身没有逻辑错误,无需调整功能实现逻辑。

解决方案

按优先级从高到低尝试即可:

  • 方案1:禁用Qt的GPU硬件加速(最简单通用,优先选择)
    在实例化QApplication之前添加一行属性配置,强制使用软件OpenGL渲染,绕过显卡驱动适配问题,修改后的代码启动部分如下:
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *


class MainWindow(QMainWindow):
    # 你的原有类实现代码完全不变
    def __init__(self):
        super(MainWindow, self).__init__()
        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl('http://google.com'))
        self.setCentralWidget(self.browser)
        self.showMaximized()

        # navbar
        navbar = QToolBar()
        self.addToolBar(navbar)

        back_btn = QAction('Back', self)
        back_btn.triggered.connect(self.browser.back)
        navbar.addAction(back_btn)

        forward_btn = QAction('Forward', self)
        forward_btn.triggered.connect(self.browser.forward)
        navbar.addAction(forward_btn)

        reload_btn = QAction('Reload', self)
        reload_btn.triggered.connect(self.browser.reload)
        navbar.addAction(reload_btn)

        home_btn = QAction('Home', self)
        home_btn.triggered.connect(self.navigate_home)
        navbar.addAction(home_btn)

        self.url_bar = QLineEdit()
        self.url_bar.returnPressed.connect(self.navigate_to_url)
        navbar.addWidget(self.url_bar)

        self.browser.urlChanged.connect(self.update_url)

    def navigate_home(self):
        self.browser.setUrl(QUrl('http://google.com'))

    def navigate_to_url(self):
        url = self.url_bar.text()
        self.browser.setUrl(QUrl(url))

    def update_url(self, q):
        self.url_bar.setText(q.toString())


if __name__ == '__main__':
    # 新增这行配置,禁用GPU硬件加速
    QApplication.setAttribute(Qt.AA_UseSoftwareOpenGL, True)
    app = QApplication(sys.argv)
    QApplication.setApplicationName('Lunar Browser')
    window = MainWindow()
    app.exec_()
  • 方案2:更新英特尔集成显卡驱动
    下载对应你的核显型号、适配Windows 7系统的最新官方驱动,安装完成后重启设备再运行程序即可。如果你的核显型号过老,英特尔已经停止提供Win7系统的驱动更新,直接用方案1即可。
  • 方案3:降级PyQt5版本
    如果前两个方案都不生效,可以将PyQt5和PyQtWebEngine降级到兼容性更好的5.12.x版本,执行以下安装命令即可:
pip install PyQt5==5.12.3 PyQtWebEngine==5.12.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:54:01