【问题标题】:Why Python stop working when loads QML file?为什么 Python 在加载 QML 文件时停止工作?
【发布时间】:2018-04-20 05:35:08
【问题描述】:

我用 QtCreator 创建了 QML 文件以避免错误

但是当我运行 python 文件时,它会显示一个空白窗口,然后立即显示“Python 停止工作”

文件.py

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQml import QQmlApplicationEngine

app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.load(QUrl('main.qml'))
engine.quit.connect(app.quit)

sys.exit(app.exec_())

main.qml

import QtQuick 2.10
import QtQuick.Window 2.2
Window{ 
     visible: true
     width: 500 
     height: 400 
}

它只是每次都崩溃,但它在使用 C++ 的 QtCreator 中运行正常

【问题讨论】:

  • 你有什么版本的 PyQt5 和 Qt5?我已经用 PyQt5 5.10.1 运行它并且它工作正常。
  • 此文件是否位于资源中?
  • 我有相同的版本,不知道为什么会崩溃,我也在虚拟环境中尝试过,它崩溃了

标签: python qml qt5 pyqt5


【解决方案1】:

我找到了解决办法,就是缓存..!

昨天我在这个位置找到了一个文件夹:

C:\Users\username\AppData\Local\cache\qtshadercache

问题是,如果你在 QtCreator 中创建一个应用程序并运行它,那么如果你尝试在 Python 中运行 QML,它将会崩溃,除非你删除 qtshadercache 文件夹中的文件,一旦文件被删除,你可以在 Python 中运行 QML,但你必须在 Python 中运行 QML 之前删除文件,前提是之前使用过 QtCreator

我希望这可以帮助某人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多