Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. How to convert horizontal menu tab to vertical in QML?
Forum Updated to NodeBB v4.3 + New Features

How to convert horizontal menu tab to vertical in QML?

Scheduled Pinned Locked Moved Solved QML and Qt Quick
2 Posts 1 Posters 553 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Janilson Duarte
    wrote on last edited by
    #1

    I want to convert a horizontal menu tab to vertical menu tab, I 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" }
         }
     }
    

    Any help? Thanks.

    1 Reply Last reply
    0
    • J Offline
      J Offline
      Janilson Duarte
      wrote on last edited by
      #2

      People, I did many experiencs but almost nothing worked until I found this post https://evileg.com/en/post/191/ that helped me and I used to turn the menu horizontal to 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"
      }
      
      1 Reply Last reply
      2

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved