import Qt5Compat.GraphicalEffects: 未找到 QML 模块

import Qt5Compat.GraphicalEffects: QML module not found

我在 Arch Linux 上,我正在尝试在我的项目中使用 PySide6 和 QT6,因为我需要能够使用单例 qml 对象,而 PySide2 似乎不支持单例注册qml 对象。我的项目使用 ColorOverlays 和 DropShadows,所以我需要 GraphicalEffects 支持。但是,根据文档页面,Qt6 不支持这些,需要兼容模块 Qt5Compat.GraphicalEffects 才能支持。

我正在尝试通过下面的导入语句将 Qt5Compat.GraphicalEffects 导入到我的 QML 代码中:

import Qt5Compat.GraphicalEffects

但是,当我在 QT Creator 中将其添加到项目的 QML 时,出现错误:“QML module not found.

为了解决这个问题,我尝试了一些方法:

如何通过导入解决此问题 Qt5Compat.GraphicalEffects?

编辑:

我正在使用 Python 和 PySide6 作为我的后端代码,但我正在用 QML 编写前端,这是我遇到问题的地方。

你必须记住,PySide2 是 Qt5 的绑定,PySide6 是 Qt6 的绑定。

如果您想将 ColorOverlay 或 DropShadow 与 then you should follow the Qt5 documentation 一起使用,您应该使用 import QtGraphicalEffects 1.15.

如果您想在 it has moved those components to the Qt5Compat 模块中使用它,那么您应该使用:import Qt5Compat.GraphicalEffects.

所以导入的方式取决于你使用的是PySide2(Qt5)还是PySide6(Qt6)。

注意:QtCreator 没有很多功能,所以很多时候它会抛出误报,因为它无法理解 PySide。不幸的是,他们没有给它 “太多的感情”,所以它没有优化以与 python 一起使用以获得那种类型的警告。所以只要避免警告。