【问题标题】:QQmlApplicationEngine failed to load component on PythonQQmlApplicationEngine 无法在 Python 上加载组件
【发布时间】:2022-07-09 18:03:56
【问题描述】:

此问题与QML module not found when using KDE Kirigami 类似,但在这种情况下,在运行 pyhton 文件之前设置 QML_IMPORT_PATH 环境变量并不能解决问题。

我有这个简单的应用程序:

ma​​in.py

#!/usr/bin/python3

from PySide2.QtWidgets import *
from PySide2.QtGui import *
from PySide2.QtQml import QQmlApplicationEngine
from PySide2.QtCore import *

if __name__ == "__main__":
    # Launch application
    app = QApplication()
    engine = QQmlApplicationEngine()
    context = engine.rootContext()
    engine.load("content/ui/main.qml")
    if len(engine.rootObjects()) == 0:
        quit()
    win = engine.rootObjects()[0]
    app.exec_()

ma​​in.qml

// Includes relevant modules used by the QML
import QtQuick 2.6
import QtQuick.Controls 2.0 as Controls
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.13 as Kirigami

// Base element, provides basic features needed for all kirigami applications
Kirigami.ApplicationWindow {
    // ID provides unique identifier to reference this element
    id: root

    // Window title
    // i18nc is useful for adding context for translators, also lets strings be changed for different languages
    title: i18nc("@title:window", "Hello World")

    // Initial page to be loaded on app load
    pageStack.initialPage: Kirigami.Page {

        Controls.Label {
            // Center label horizontally and vertically within parent element
            anchors.centerIn: parent
            text: i18n("Hello World!")
        }
    }
}

在运行它之前,我按照https://develop.kde.org/docs/use/kirigami/introduction-getting_started/ 中的说明安装了所有必需的依赖项

sudo apt install build-essential extra-cmake-modules cmake qtbase5-dev qtdeclarative5-dev libqt5svg5-dev qtquickcontrols2-5-dev qml-module-org-kde-kirigami2 kirigami2-dev libkf5i18n-dev gettext libkf5coreaddons-dev qml-module-qtquick-layouts

kirigami2 模块存在于路径中

/usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2

顺便说一句,执行我获得的Python文件时

QQmlApplicationEngine failed to load component
file:///home/danieleverducci/git/KDE/python/prova-kirigami/content/ui/main.qml:5:1: module "org.kde.kirigami" is not installed

设置 QML_IMPORT_PATH 环境变量并不能解决问题。 我忽略了什么?

【问题讨论】:

    标签: python qt kde-plasma qqmlapplicationengine


    【解决方案1】:

    改用 QML2_IMPORT_PATH 环境可能会解决问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 2015-06-28
      • 2021-12-25
      • 2020-09-09
      • 2015-07-23
      相关资源
      最近更新 更多