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 can I add horizontal scroll bar for specific columns in QML table view component?
Forum Update on Monday, May 27th 2025

How can I add horizontal scroll bar for specific columns in QML table view component?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
14 Posts 3 Posters 1.7k 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.
  • sudarshandS Offline
    sudarshandS Offline
    sudarshand
    wrote on last edited by
    #1

    How can I add horizontal scroll bar in qml table view for specific columns ? (e.g. I need horizontal scroll bar from column 3 to column 7 and I have total 11 columns in my table view). I have already implemented customize columns using delegate chooser component with the help of adding roles in C++ QAbstractTableModel Class.

    1 Reply Last reply
    0
    • sudarshandS Offline
      sudarshandS Offline
      sudarshand
      wrote on last edited by
      #2

      @shawnrutledge can you please help me in this implementation? I am seeking for any idea or hint to implement this

      1 Reply Last reply
      0
      • fcarneyF Offline
        fcarneyF Offline
        fcarney
        wrote on last edited by
        #3
        property bool enableScrollbar: column >= 3 && column <= 7
        

        Use this boolean to enable scrollbar for that cell.

        C++ is a perfectly valid school of magic.

        sudarshandS 1 Reply Last reply
        0
        • fcarneyF fcarney
          property bool enableScrollbar: column >= 3 && column <= 7
          

          Use this boolean to enable scrollbar for that cell.

          sudarshandS Offline
          sudarshandS Offline
          sudarshand
          wrote on last edited by
          #4

          @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:

          enable

          Where and how can I apply this property to QML table view ?

          fcarneyF 1 Reply Last reply
          0
          • sudarshandS sudarshand

            @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:

            enable

            Where and how can I apply this property to QML table view ?

            fcarneyF Offline
            fcarneyF Offline
            fcarney
            wrote on last edited by
            #5

            @sudarshand said in How can I add horizontal scroll bar for specific columns in QML table view component?:

            Where and how can I apply this property to QML table view ?

            https://doc.qt.io/qt-5/qml-qtquick-controls2-scrollbar.html

            C++ is a perfectly valid school of magic.

            sudarshandS 1 Reply Last reply
            0
            • fcarneyF fcarney

              @sudarshand said in How can I add horizontal scroll bar for specific columns in QML table view component?:

              Where and how can I apply this property to QML table view ?

              https://doc.qt.io/qt-5/qml-qtquick-controls2-scrollbar.html

              sudarshandS Offline
              sudarshandS Offline
              sudarshand
              wrote on last edited by
              #6

              @fcarney I am not able to achieve what I want from these inputs...., I am not able to apply this in my QML table view implementation.

              1 Reply Last reply
              0
              • fcarneyF Offline
                fcarneyF Offline
                fcarney
                wrote on last edited by fcarney
                #7

                Create a minimal example code for us to look at. I cannot tell what you are doing.

                C++ is a perfectly valid school of magic.

                1 Reply Last reply
                0
                • VRoninV Offline
                  VRoninV Offline
                  VRonin
                  wrote on last edited by
                  #8
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • sudarshandS Offline
                    sudarshandS Offline
                    sudarshand
                    wrote on last edited by
                    #9

                    Hello @fcarney please refer following QML implementation , tableviewmodel is my C++ model inherited from QAbstractTableModel class having 11 columns and some rows. I want horizontal scrolling for column 3 to 7 only and all other columns should be freeze.
                    Because of this line i.e. ScrollBar.horizontal: ScrollBar{} , I am getting horizontal scroll bar for all the columns.

                    TableView {
                    id: tableview
                    anchors.fill: parent
                    columnSpacing: 1
                    rowSpacing: 1
                    columnWidthProvider: function(col) {
                    if( 0 === col || 1 === col || 10 === col)
                    return 40
                    else if(3 === col)
                    return 80
                    else
                    return 60
                    }
                    rowHeightProvider: function(){
                    return 60
                    }
                    clip: true
                    ScrollBar.horizontal: ScrollBar{}
                    ScrollBar.vertical: ScrollBar{}
                    model: tableviewmodel

                    delegate: Rectangle {
                        Text {
                            text: roletabledata
                        }
                    }
                    

                    }

                    1 Reply Last reply
                    0
                    • fcarneyF Offline
                      fcarneyF Offline
                      fcarney
                      wrote on last edited by fcarney
                      #10

                      @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:

                      property bool enableScrollbar: column >= 3 && column <= 7

                      TableView {
                          id: tableview
                          property bool enableScrollbar: column >= 3 && column <= 7
                      ...
                          ScrollBar.horizontal: ScrollBar{
                              visible:  tableview.enableScrollbar  // not sure if you need to use enable or not
                          }
                      }
                      

                      C++ is a perfectly valid school of magic.

                      sudarshandS 1 Reply Last reply
                      0
                      • fcarneyF Offline
                        fcarneyF Offline
                        fcarney
                        wrote on last edited by
                        #11

                        @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:

                        ScrollBar.horizontal: ScrollBar{
                        visible: tableview.enableScrollbar // not sure if you need to use enable or not
                        }

                        Alternately:

                         ScrollBar.horizontal: tableview.enableScrollbar ? ScrollBar{} : null
                        

                        C++ is a perfectly valid school of magic.

                        1 Reply Last reply
                        0
                        • fcarneyF fcarney

                          @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:

                          property bool enableScrollbar: column >= 3 && column <= 7

                          TableView {
                              id: tableview
                              property bool enableScrollbar: column >= 3 && column <= 7
                          ...
                              ScrollBar.horizontal: ScrollBar{
                                  visible:  tableview.enableScrollbar  // not sure if you need to use enable or not
                              }
                          }
                          
                          sudarshandS Offline
                          sudarshandS Offline
                          sudarshand
                          wrote on last edited by
                          #12

                          @fcarney for this its giving QML error that column is not defined.

                          1 Reply Last reply
                          0
                          • fcarneyF Offline
                            fcarneyF Offline
                            fcarney
                            wrote on last edited by
                            #13

                            Sorry, this should be inside the delegate:

                            TableView {
                                id: tableview
                                property bool enableScrollbar: column >= 3 && column <= 7
                            ...
                                ScrollBar.horizontal: ScrollBar{
                                    visible:  tableview.enableScrollbar  // not sure if you need to use enable or not
                                }
                            }
                            
                            A reference a day helps keep the segfault away.
                            0
                            fcarney about 24 hours ago
                            
                            @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:
                            
                                ScrollBar.horizontal: ScrollBar{
                                visible: tableview.enableScrollbar // not sure if you need to use enable or not
                                }
                            
                            Alternately:
                            
                             ScrollBar.horizontal: tableview.enableScrollbar ? ScrollBar{} : null
                            
                            A reference a day helps keep the segfault away.
                            0
                            sudarshand about 9 hours ago
                            
                            @fcarney for this its giving QML error that column is not defined.
                            
                                0
                            
                            12
                            Posts
                            84
                            Views
                             
                            
                            @fcarney said in How can I add horizontal scroll bar for specific columns in QML table view component?:
                            
                                property bool enableScrollbar: column >= 3 && column <= 7
                            
                            TableView {
                                id: tableview
                            
                                delegate: Flickable { // some kind of flickable I think
                                    property bool enableScrollbar: column >= 3 && column <= 7
                            
                                    ScrollBar.horizontal: ScrollBar{
                                        visible:  tableview.enableScrollbar  // not sure if you need to use enable or not
                                    }
                                }
                            }
                            
                            

                            Rectangle is not a flickable I don't think. I don't know if it will work with that.
                            Spend more time reading the docs.

                            C++ is a perfectly valid school of magic.

                            1 Reply Last reply
                            0
                            • sudarshandS Offline
                              sudarshandS Offline
                              sudarshand
                              wrote on last edited by
                              #14

                              I am able to achieve it, using QML vertical header view component of Qt version 5.15.4.

                              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