Zugriff auf Property einer geladenen QML-Datei



  • Hi liebe Forummitglieder,

    ich bin gerade am verzweifeln. Ich versuche in meiner main.qml auf die Property einer anderen (geladenen) QML-Datei zuzugreifen. Mir ist es bisher noch nicht gelungen. Kennt sich da jemand aus? Ich verwende QT 5.8

    Mein Code ist wie folgt:

    main.qml

    import QtQuick 2.5
    import QtQuick.Window 2.2
    import QtPositioning 5.6
    import QtLocation 5.6
    import QtGraphicalEffects 1.0
    import QtQuick.Controls 2.1
    import QtQuick.Controls.Material 2.1
    
    Window {
    
    //[...]
    
    Rectangle {
    
                id: menuSidebar           
                visible: true
                width: 250
                height: 600
    
                Loader {
                    id: sidebarLoader
                    source:"sidebar.qml";
    
                    property sidebar sidebarItem: item /* Geht nicht, da er sidebar                  
                                                          nicht als Typ akzeptiert 
                                                       */
    
                }
            }
    
    //[...]
    
    }
    

    sidebar.qml

    import QtQuick 2.5
    import QtGraphicalEffects 1.0
    import QtQuick.Controls 2.1
    import QtQuick.Layouts 1.1
    
    Item {
    
        id: sidebarItem
        width: 250
        height: 600
    
        property int sldValue: sldZoom.value //Auf die Property will ich zugreifen
    
        //[...]
    
        Slider {
                    id: sldZoom
    
                    anchors.left: lblSlider.right
                    anchors.leftMargin: 5
                    anchors.top: gridLayout.bottom
                    anchors.topMargin: 45
                    orientation: Qt.Horizontal
                    stepSize: 1
                    from: 1.0
                    to: 25.0
                    value: 14.0
                    width: 150
                    height: 10
                    onValueChanged: {
    
                        value: sldZoom.value;                    
                        console.log(sldValue);
                    }
    
            }
    }
    

Anmelden zum Antworten