首页 > 解决方案 > Qt 应用程序在运行时因分段错误而崩溃

问题描述

当我尝试使用 运行 PySide6 应用程序app.exec()时,应用程序因分段错误而崩溃。

主要.py:

import os.path
import sys
from PySide6.QtGui import QGuiApplication
from PySide6.QtQuick import QQuickView
from PySide6.QtCore import QUrl

app = QGuiApplication(sys.argv)
view = QQuickView()
view.setResizeMode(QQuickView.SizeRootObjectToView)

qmlFile = os.path.join(os.path.dirname(__file__), 'view.qml')
url = QUrl.fromLocalFile(os.path.abspath(qmlFile))

view.setSource(url)
if view.status() == QQuickView.Error:
    sys.exit(-1)
view.show()

app.exec()

视图.qml:

import QtQuick.Controls 2.15

Label {
    text: "Label"
}

我正在使用 macOS Big Sur 在 Python 3.8.2 上运行 PySide 6.1 版

Qt 调试日志:

... Skipped 150 lines being the same as below ...

loaded library "/Users/nightloewe/PycharmProjects/QtTestApp/venv/lib/python3.8/site-packages/PySide6/Qt/qml/QtQuick/Templates/libqtquicktemplates2plugin.dylib"
Found metadata in lib /Users/nightloewe/PycharmProjects/QtTestApp/venv/lib/python3.8/site-packages/PySide6/Qt/qml/QtQuick/Controls/Fusion/impl/libqtquickcontrols2fusionstyleimplplugin.dylib, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuickControls2FusionStyleImplPlugin",
    "debug": false,
    "uri": [
        "QtQuick.Controls.Fusion.impl"
    ],
    "version": 393472
}


loaded library "/Users/nightloewe/PycharmProjects/QtTestApp/venv/lib/python3.8/site-packages/PySide6/Qt/qml/QtQuick/Controls/Fusion/impl/libqtquickcontrols2fusionstyleimplplugin.dylib"
QFactoryLoader::QFactoryLoader() checking directory path "/Users/nightloewe/PycharmProjects/QtTestApp/venv/lib/python3.8/site-packages/PySide6/Qt/plugins/accessible" ...
QFactoryLoader::QFactoryLoader() checking directory path "/Library/Frameworks/Python.framework/Versions/3.8/Resources/Python.app/Contents/MacOS/accessible" ...
Segmentation fault: 11

标签: pythonqtqmlpysidepyside6

解决方案


推荐阅读