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. Add column header to TreeView

Add column header to TreeView

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
4 Posts 4 Posters 518 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.
  • T Offline
    T Offline
    ToQdO
    wrote on last edited by
    #1

    I want to add headers for columns in my TreeView. Is there a way to do it in Qt6.3?
    Currently, my qml looks like this:

    TreeView {
                    id: tree_view
                    anchors{
                        fill: parent
                        margins: 10
                    }
    
                    model: FileSystemModel
                    clip: true
    
                    delegate: TreeViewDelegate {
                        contentItem: Text {
                            anchors.leftMargin: leftMargin
                            anchors.rightMargin: rightMargin
                            text: {
                                if (column === 0)
                                    file_name
                                else if (column === 1)
                                    inner_files
                                else
                                    file_size
                            }
                        }
                    }
                }
    

    I cant use TableViewColumn because the compiler says that "it's not a type". I have already switched to Qt 6.3 from the 6.2 version, because of the same problem with the TreeView component.

    1 Reply Last reply
    1
    • M Offline
      M Offline
      majorRonk
      wrote on last edited by majorRonk
      #2

      did anyone find a solution for this?

      1 Reply Last reply
      0
      • GrecKoG Offline
        GrecKoG Offline
        GrecKo
        Qt Champions 2018
        wrote on last edited by
        #3

        Have you tried HorizontalHeaderView?

        1 Reply Last reply
        1
        • C Offline
          C Offline
          csw_control
          wrote on last edited by csw_control
          #4

          I think this is solved. GrecKo's suggestion is works well.

          you can start from the example 'QT Quick Controls - table of contents'.
          modify Main.qml like below

          Item{     // added component
                  anchors.fill: parent
          
                  HorizontalHeaderView {      // added component
                      id: horizontalHeader
                      anchors.top: parent.top
                      anchors.left: treeView.left
                      syncView: treeView
                      model: ["title", "content"]
                      clip: true
                  }
          
                  TreeView {
                      id: treeView
                      //anchors.fill: parent          // anchoring is modified
                      anchors.top: horizontalHeader.bottom
                      anchors.left: parent.left
                      anchors.right: parent.right
                      anchors.bottom: parent.bottom
                      anchors.margins: 10
                      clip: true
          
          1 Reply Last reply
          0

          • Login

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