How to convert horizontal menu tab to vertical in QML?

Asked

Viewed 28 times

0

I want to convert a horizontal menu tab to vertical menu tab, wrote the following code:

TabView {
           id: frame
           anchors.fill: parent
           anchors.margins: 4
           Tab { title: "Tab 1" }
           Tab { title: "Tab 2" }
           Tab { title: "Tab 3" }

           style: TabViewStyle {
               frameOverlap: 1
               tab: Rectangle {
                   color: styleData.selected ? "steelblue" :"lightsteelblue"
                   border.color:  "steelblue"
                   implicitWidth: Math.max(text.width + 4, 80)
                   implicitHeight: 20
                   radius: 2
                   Text {
                       id: text
                       anchors.centerIn: parent
                       text: styleData.title
                       color: styleData.selected ? "white" : "black"
                   }
               }
               frame: Rectangle { color: "steelblue" }
           }
       }

1 answer

0


i did many experiments but almost nothing worked until I found this post https://evileg.com/en/post/191/ who helped me and I used to turn the horizontal menu vertical. below is the code I used.

Thank you very much!

// Layer with buttons that will change the fragments
RowLayout {
    id: rowLayout
    anchors.top: parent.top
    anchors.left: parent.left
    anchors.leftMargin: 0
    anchors.margins: 15

    Button {
        id: button1
        anchors.left: rowLayout.left
        text: qsTr("Fragment 1")
        // Download the component from a file
        onClicked: loader.source = "Fragment1.qml"
    }

    Button {
        id: button2
        anchors.left: rowLayout.left
        anchors.top: button1.bottom
        text: qsTr("Fragment 2")
        // Loading setSource component through the method of installing the fragment parameters
        onClicked: loader.setSource("Fragment2.qml")
    }

    Button {
        id: button3
        anchors.left: rowLayout.left
        anchors.top: button2.bottom

        text: qsTr("Fragment 3")
        // Loading setSource component through the method of installing the fragment parameters
        onClicked: loader.setSource("Fragment3.qml")
    }

    Button {
        id: button4
        anchors.left: rowLayout.left
        anchors.top: button3.bottom

        text: qsTr("Fragment 4")
        // Installing a fragment from the Component
        onClicked: loader.sourceComponent = fragment4
    }

    Button {
        id: button5
        anchors.left: rowLayout.left
        anchors.top: button4.bottom

        text: qsTr("Fragment 5")
        // Installing a fragment from the Component
        onClicked: loader.sourceComponent = fragment5
    }
}

Loader {
    id: loader
    anchors.top: rowLayout.bottom
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.bottom: parent.bottom
    anchors.topMargin: -40
    anchors.leftMargin: 63
    source: "Fragment1.qml"
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.