为什么Python在加载QML文件时停止工作?

时间:2018-04-20 05:35:08

标签: python qml qt5 pyqt5

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

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

file.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 
}

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,是缓存..!

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

<强> C:\ Users \用户名\应用程序数据\本地\缓存\ qtshadercache

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

我希望这可以帮助某人