如何使用与 main.qml 位于不同目录中的 qml 文件的属性。我正在尝试使用 qmldir,但无法实现它

问题描述 投票:0回答:1

文件结构

 Common 
 -imports
   -Style.qml
 Main.qml
 main.py
 qmldir

主要.qml

import QtQuick.VirtualKeyboard
import QtQuick.Layouts
import "Commmon/imports"


Window {
        
    id: mainWindow
    flags: Qt.FramelessWindowHint | Qt.Window
    height: 1080
    visibility: Window.FullScreen
    visible: true
    width: 1920
    title: qsTr("TMD_Visu")
    ColumnLayout{
        spacing: 10
        Rectangle {
            width: 200
            height: 100
            color: Style.backColor
            border.color: "black"
            radius: 10 
        }

    }


   
}

样式.qml

pragma Singleton
import QtQuick
import QtQuick.Controls

Item {
    readonly property color avegareColor: "#486377"
    readonly property color backColor: "#ECECEC"

}

我尝试过qmldir文件,如下所示:

module Common
Style 1.0 Common/imports/Style.qml
PopUp 1.0 Common/imports/PopUp.qml
  • 我正在尝试在 main.qml 中导入 Style.qml 的属性,即 Style.backColor。
  • 代码正在运行,但无法读取 Style.qml
  • 的属性
python-2.7 qt pyqt5 qml pyside6
1个回答
0
投票

在 qt cpp 中,我们使用“ qmlRegisterSingletonType(QUrl("qrc:///Singletons/Styles.qml"), "Styles", 1, 0, "Styles");" 这条线是单例的 尝试在 main.py 中使用它或与此类似。 使用“import Styles 1.0”这个导入 你会得到像“Styles.avegareColor”这样的变量

© www.soinside.com 2019 - 2024. All rights reserved.