Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Vertical ScrollBar of QTableWidget not moving as expected

Vertical ScrollBar of QTableWidget not moving as expected

Scheduled Pinned Locked Moved Solved General and Desktop
15 Posts 4 Posters 2.8k 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi,

    Why are you setting the minimum and maximum value of the scrollbar ? These are usually calculated for your base on the model content.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    2
    • S Offline
      S Offline
      Sajeevan K
      wrote on last edited by
      #3

      Hi SGaist,

      Thank You for the reply.

      By default the maximum is 2 and page step is 512.

      So when I press Down key, ui->tableWidget->verticalScrollBar()->value() is changing from 0 to 2 only.
      This is equivalent to moving a single row only.

      This is the case, even after adding dummy contents in all the cells.

      I think maximum() is not calculated correctly. I am missing something...

      Any ideas...please

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #4

        Show your complete code, otherwise we can only do speculations.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Sajeevan K
          wrote on last edited by
          #5

          Hi SGaist,

          Thank You for the reply and supporting.

          The full code is given below.

          form_Table() shall be executed in a while loop and Key_Up_Routine and Key_Down_Routine whenever keys are pressed.

          form_Table {

              QTableWidgetItem * Display_item_0_0 = new QTableWidgetItem("0");
              QTableWidgetItem * Display_item_0_1 = new QTableWidgetItem("1");
              QTableWidgetItem * Display_item_0_2 = new QTableWidgetItem("2");
              QTableWidgetItem * Display_item_0_3 = new QTableWidgetItem("3");
              QTableWidgetItem * Display_item_0_4 = new QTableWidgetItem("4");
              QTableWidgetItem * Display_item_0_5 = new QTableWidgetItem("5");
              QTableWidgetItem * Display_item_0_6 = new QTableWidgetItem("6");
              QTableWidgetItem * Display_item_0_7 = new QTableWidgetItem("7");
              QTableWidgetItem * Display_item_0_8 = new QTableWidgetItem("8");
              QTableWidgetItem * Display_item_513_0 = new QTableWidgetItem("0");
              QTableWidgetItem * Display_item_513_1 = new QTableWidgetItem("1");
              QTableWidgetItem * Display_item_513_2 = new QTableWidgetItem("2");
              QTableWidgetItem * Display_item_513_3 = new QTableWidgetItem("3");
              QTableWidgetItem * Display_item_513_4 = new QTableWidgetItem("4");
              QTableWidgetItem * Display_item_513_5 = new QTableWidgetItem("5");
              QTableWidgetItem * Display_item_513_6 = new QTableWidgetItem("6");
              QTableWidgetItem * Display_item_513_7 = new QTableWidgetItem("7");
              QTableWidgetItem * Display_item_513_8 = new QtableWidgetItem("8");
          

          .........
          .........
          .........

                      QTableWidgetItem * Display_item_513_0 = new QTableWidgetItem("0");
              QTableWidgetItem * Display_item_513_1 = new QTableWidgetItem("1");
              QTableWidgetItem * Display_item_513_2 = new QTableWidgetItem("2");
              QTableWidgetItem * Display_item_513_3 = new QTableWidgetItem("3");
              QTableWidgetItem * Display_item_513_4 = new QTableWidgetItem("4");
              QTableWidgetItem * Display_item_513_5 = new QTableWidgetItem("5");
              QTableWidgetItem * Display_item_513_6 = new QTableWidgetItem("6");
              QTableWidgetItem * Display_item_513_7 = new QTableWidgetItem("7");
              QTableWidgetItem * Display_item_513_8 = new QtableWidgetItem("8");
          
          
              ui->tableWidget->setGeometry(-2,40,804,15424);
              ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
              ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
          
              ui->tableWidget->setRowCount(514);
              ui->tableWidget->setColumnCount(9);
          
          
              ui->tableWidget->setColumnWidth(0,80);
              ui->tableWidget->setColumnWidth(1,80);
              ui->tableWidget->setColumnWidth(2,80);
              ui->tableWidget->setColumnWidth(3,80);
              ui->tableWidget->setColumnWidth(4,80);
              ui->tableWidget->setColumnWidth(5,80);
              ui->tableWidget->setColumnWidth(6,80);
              ui->tableWidget->setColumnWidth(7,80);
              ui->tableWidget->setColumnWidth(8,80);
          
          
          
              QStringList horz_header;
              horz_header.clear();
              horz_header.append(“T1”);
              horz_header.append(“T2”);
              horz_header.append(“T3”);
              horz_header.append(“T4”);
              horz_header.append(“T5”);
              horz_header.append(“T6”);
              horz_header.append(“T7”);
              horz_header.append(“T8”);
              horz_header.append(“T9”);
              ui->tableWidget->setHorizontalHeaderLabels(horz_header);
          
              QStringList vert_header;
              vert_header.clear();
              vert_header.append("P1");
              vert_header.append("P2");
              vert_header.append("P3");
              vert_header.append("P4");
          
              ui->tableWidget->setVerticalHeaderLabels(vert_header);
              ui->tableWidget->horizontalHeader()->setVisible(true);
              ui->tableWidget->verticalHeader()->setVisible(true);
              ui->tableWidget-setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
              ui->tableWidget->setAutoScroll(false);
          
          
              ui->tableWidget->setItem(0,0,Display_item_0_0);
              ui->tableWidget->setItem(0,1,Display_item_0_1);
              ui->tableWidget->setItem(0,2,Display_item_0_2);
              ui->tableWidget->setItem(0,3,Display_item_0_3);
              ui->tableWidget->setItem(0,4,Display_item_0_4);
              ui->tableWidget->setItem(0,5,Display_item_0_5);
              ui->tableWidget->setItem(0,6,Display_item_0_6);
              ui->tableWidget->setItem(0,7,Display_item_0_7);
              ui->tableWidget->setItem(0,8,Display_item_0_8);
              ui->tableWidget->setItem(1,0,Display_item_1_0);
              ui->tableWidget->setItem(1,1,Display_item_1_1);
              ui->tableWidget->setItem(1,2,Display_item_1_2);
              ui->tableWidget->setItem(1,3,Display_item_1_3);
              ui->tableWidget->setItem(1,4,Display_item_1_4);
              ui->tableWidget->setItem(1,5,Display_item_1_5);
              ui->tableWidget->setItem(1,6,Display_item_1_6);
              ui->tableWidget->setItem(1,7,Display_item_1_7);
              ui->tableWidget->setItem(1,8,Display_item_1_8);
          

          .........
          .........
          ..........

          ui->tableWidget_FDP->setItem(513,0,FDP_Display_item_513_0);
          ui->tableWidget_FDP->setItem(513,1,FDP_Display_item_513_1);
          ui->tableWidget_FDP->setItem(513,2,FDP_Display_item_513_2);
          ui->tableWidget_FDP->setItem(513,3,FDP_Display_item_513_3);
          ui->tableWidget_FDP->setItem(513,4,FDP_Display_item_513_4);
          ui->tableWidget_FDP->setItem(513,5,FDP_Display_item_513_5);
          ui->tableWidget_FDP->setItem(513,6,FDP_Display_item_513_6);
          ui->tableWidget_FDP->setItem(513,7,FDP_Display_item_513_7);
          ui->tableWidget_FDP->setItem(513,8,FDP_Display_item_513_8);

          ui->tableWidget_FDP->setSelectionBehavior(QAbstractItemView::SelectItems);
          ui->tableWidget_FDP->setSelectionMode(QAbstractItemView::SingleSelection);
          ui->tableWidget_FDP->setShowGrid(true);
          ui->tableWidget_FDP->horizontalHeader()->setSectionsMovable(true);
          ui->tableWidget_FDP->horizontalHeader()->setSectionsClickable(true);
          ui->tableWidget_FDP->horizontalHeader()->etSectionResizeMode(QHeaderView::Fixed);

          }

          Key_Up_Routine {

          int scroll;

          qDebug("current value = %d ", ui->tableWidget_FDP->verticalScrollBar()->value());
          scroll = ui->tableWidget_FDP->verticalScrollBar()->value();
          if(scroll >= 10) {
              ui->tableWidget_FDP->verticalScrollBar()->setValue((scroll - 10));
          }
          qDebug("new value = %d ", ui->tableWidget_FDP->verticalScrollBar()->value());
          

          }

          Key_Down_Routine {
          int scroll;

          qDebug("current value = %d ", ui->tableWidget_FDP->verticalScrollBar()->value());
          

          scroll = ui->tableWidget_FDP->verticalScrollBar()->value();
          ui->tableWidget_FDP->verticalScrollBar()->setValue((scroll + 10));
          qDebug("new value = %d ", ui->tableWidget_FDP->verticalScrollBar()->value());

          }

          1 Reply Last reply
          0
          • S Offline
            S Offline
            Sajeevan K
            wrote on last edited by
            #6

            Hi,

            Some mistakes in previous mail. Please ignore that. The code sample I am using is as given below.

            form_Table {

                QTableWidgetItem * Display_item_0_0 = new QTableWidgetItem("0");
                QTableWidgetItem * Display_item_0_1 = new QTableWidgetItem("1");
                QTableWidgetItem * Display_item_0_2 = new QTableWidgetItem("2");
                QTableWidgetItem * Display_item_0_3 = new QTableWidgetItem("3");
                QTableWidgetItem * Display_item_0_4 = new QTableWidgetItem("4");
                QTableWidgetItem * Display_item_0_5 = new QTableWidgetItem("5");
                QTableWidgetItem * Display_item_0_6 = new QTableWidgetItem("6");
                QTableWidgetItem * Display_item_0_7 = new QTableWidgetItem("7");
                QTableWidgetItem * Display_item_0_8 = new QTableWidgetItem("8");
                QTableWidgetItem * Display_item_1_0 = new QTableWidgetItem("0");
                QTableWidgetItem * Display_item_1_1 = new QTableWidgetItem("1");
                QTableWidgetItem * Display_item_1_2 = new QTableWidgetItem("2");
                QTableWidgetItem * Display_item_1_3 = new QTableWidgetItem("3");
                QTableWidgetItem * Display_item_1_4 = new QTableWidgetItem("4");
                QTableWidgetItem * Display_item_1_5 = new QTableWidgetItem("5");
                QTableWidgetItem * Display_item_1_6 = new QTableWidgetItem("6");
                QTableWidgetItem * Display_item_1_7 = new QTableWidgetItem("7");
                QTableWidgetItem * Display_item_1_8 = new QtableWidgetItem("8");
            

            .........
            .........
            .........

                        QTableWidgetItem * Display_item_513_0 = new QTableWidgetItem("0");
                QTableWidgetItem * Display_item_513_1 = new QTableWidgetItem("1");
                QTableWidgetItem * Display_item_513_2 = new QTableWidgetItem("2");
                QTableWidgetItem * Display_item_513_3 = new QTableWidgetItem("3");
                QTableWidgetItem * Display_item_513_4 = new QTableWidgetItem("4");
                QTableWidgetItem * Display_item_513_5 = new QTableWidgetItem("5");
                QTableWidgetItem * Display_item_513_6 = new QTableWidgetItem("6");
                QTableWidgetItem * Display_item_513_7 = new QTableWidgetItem("7");
                QTableWidgetItem * Display_item_513_8 = new QtableWidgetItem("8");
            
            
                ui->tableWidget->setGeometry(-2,40,804,15424);
                ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
                ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
            
                ui->tableWidget->setRowCount(514);
                ui->tableWidget->setColumnCount(9);
            
            
                ui->tableWidget->setColumnWidth(0,80);
                ui->tableWidget->setColumnWidth(1,80);
                ui->tableWidget->setColumnWidth(2,80);
                ui->tableWidget->setColumnWidth(3,80);
                ui->tableWidget->setColumnWidth(4,80);
                ui->tableWidget->setColumnWidth(5,80);
                ui->tableWidget->setColumnWidth(6,80);
                ui->tableWidget->setColumnWidth(7,80);
                ui->tableWidget->setColumnWidth(8,80);
            
            
            
                QStringList horz_header;
                horz_header.clear();
                horz_header.append(“T1”);
                horz_header.append(“T2”);
                horz_header.append(“T3”);
                horz_header.append(“T4”);
                horz_header.append(“T5”);
                horz_header.append(“T6”);
                horz_header.append(“T7”);
                horz_header.append(“T8”);
                horz_header.append(“T9”);
                ui->tableWidget->setHorizontalHeaderLabels(horz_header);
            
                QStringList vert_header;
                vert_header.clear();
                vert_header.append("P1");
                vert_header.append("P2");
                vert_header.append("P3");
                vert_header.append("P4");
            
                ui->tableWidget->setVerticalHeaderLabels(vert_header);
                ui->tableWidget->horizontalHeader()->setVisible(true);
                ui->tableWidget->verticalHeader()->setVisible(true);
                ui->tableWidget-setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
                ui->tableWidget->setAutoScroll(false);
            
            
                ui->tableWidget->setItem(0,0,Display_item_0_0);
                ui->tableWidget->setItem(0,1,Display_item_0_1);
                ui->tableWidget->setItem(0,2,Display_item_0_2);
                ui->tableWidget->setItem(0,3,Display_item_0_3);
                ui->tableWidget->setItem(0,4,Display_item_0_4);
                ui->tableWidget->setItem(0,5,Display_item_0_5);
                ui->tableWidget->setItem(0,6,Display_item_0_6);
                ui->tableWidget->setItem(0,7,Display_item_0_7);
                ui->tableWidget->setItem(0,8,Display_item_0_8);
                ui->tableWidget->setItem(1,0,Display_item_1_0);
                ui->tableWidget->setItem(1,1,Display_item_1_1);
                ui->tableWidget->setItem(1,2,Display_item_1_2);
                ui->tableWidget->setItem(1,3,Display_item_1_3);
                ui->tableWidget->setItem(1,4,Display_item_1_4);
                ui->tableWidget->setItem(1,5,Display_item_1_5);
                ui->tableWidget->setItem(1,6,Display_item_1_6);
                ui->tableWidget->setItem(1,7,Display_item_1_7);
                ui->tableWidget->setItem(1,8,Display_item_1_8);
            

            .........
            .........
            ..........

            ui->tableWidget->setItem(513,0,FDP_Display_item_513_0);
            ui->tableWidget->setItem(513,1,FDP_Display_item_513_1);
            ui->tableWidget->setItem(513,2,FDP_Display_item_513_2);
            ui->tableWidget->setItem(513,3,FDP_Display_item_513_3);
            ui->tableWidget->setItem(513,4,FDP_Display_item_513_4);
            ui->tableWidget->setItem(513,5,FDP_Display_item_513_5);
            ui->tableWidget->setItem(513,6,FDP_Display_item_513_6);
            ui->tableWidget->setItem(513,7,FDP_Display_item_513_7);
            ui->tableWidget->setItem(513,8,FDP_Display_item_513_8);

            ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
            ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
            ui->tableWidget->setShowGrid(true);
            ui->tableWidget->horizontalHeader()->setSectionsMovable(true);
            ui->tableWidget->horizontalHeader()->setSectionsClickable(true);
            ui->tableWidget->horizontalHeader()->etSectionResizeMode(QHeaderView::Fixed);

            }

            Key_Up_Routine {

            int scroll;

            qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
            scroll = ui->tableWidget->verticalScrollBar()->value();
            if(scroll >= 10) {
                ui->tableWidget->verticalScrollBar()->setValue((scroll - 10));
            }
            qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());
            

            }

            Key_Down_Routine {
            int scroll;

            qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
            

            scroll = ui->tableWidget->verticalScrollBar()->value();
            ui->tableWidget->verticalScrollBar()->setValue((scroll + 10));
            qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());

            }

            jsulmJ 1 Reply Last reply
            0
            • S Sajeevan K

              Hi,

              Some mistakes in previous mail. Please ignore that. The code sample I am using is as given below.

              form_Table {

                  QTableWidgetItem * Display_item_0_0 = new QTableWidgetItem("0");
                  QTableWidgetItem * Display_item_0_1 = new QTableWidgetItem("1");
                  QTableWidgetItem * Display_item_0_2 = new QTableWidgetItem("2");
                  QTableWidgetItem * Display_item_0_3 = new QTableWidgetItem("3");
                  QTableWidgetItem * Display_item_0_4 = new QTableWidgetItem("4");
                  QTableWidgetItem * Display_item_0_5 = new QTableWidgetItem("5");
                  QTableWidgetItem * Display_item_0_6 = new QTableWidgetItem("6");
                  QTableWidgetItem * Display_item_0_7 = new QTableWidgetItem("7");
                  QTableWidgetItem * Display_item_0_8 = new QTableWidgetItem("8");
                  QTableWidgetItem * Display_item_1_0 = new QTableWidgetItem("0");
                  QTableWidgetItem * Display_item_1_1 = new QTableWidgetItem("1");
                  QTableWidgetItem * Display_item_1_2 = new QTableWidgetItem("2");
                  QTableWidgetItem * Display_item_1_3 = new QTableWidgetItem("3");
                  QTableWidgetItem * Display_item_1_4 = new QTableWidgetItem("4");
                  QTableWidgetItem * Display_item_1_5 = new QTableWidgetItem("5");
                  QTableWidgetItem * Display_item_1_6 = new QTableWidgetItem("6");
                  QTableWidgetItem * Display_item_1_7 = new QTableWidgetItem("7");
                  QTableWidgetItem * Display_item_1_8 = new QtableWidgetItem("8");
              

              .........
              .........
              .........

                          QTableWidgetItem * Display_item_513_0 = new QTableWidgetItem("0");
                  QTableWidgetItem * Display_item_513_1 = new QTableWidgetItem("1");
                  QTableWidgetItem * Display_item_513_2 = new QTableWidgetItem("2");
                  QTableWidgetItem * Display_item_513_3 = new QTableWidgetItem("3");
                  QTableWidgetItem * Display_item_513_4 = new QTableWidgetItem("4");
                  QTableWidgetItem * Display_item_513_5 = new QTableWidgetItem("5");
                  QTableWidgetItem * Display_item_513_6 = new QTableWidgetItem("6");
                  QTableWidgetItem * Display_item_513_7 = new QTableWidgetItem("7");
                  QTableWidgetItem * Display_item_513_8 = new QtableWidgetItem("8");
              
              
                  ui->tableWidget->setGeometry(-2,40,804,15424);
                  ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
                  ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
              
                  ui->tableWidget->setRowCount(514);
                  ui->tableWidget->setColumnCount(9);
              
              
                  ui->tableWidget->setColumnWidth(0,80);
                  ui->tableWidget->setColumnWidth(1,80);
                  ui->tableWidget->setColumnWidth(2,80);
                  ui->tableWidget->setColumnWidth(3,80);
                  ui->tableWidget->setColumnWidth(4,80);
                  ui->tableWidget->setColumnWidth(5,80);
                  ui->tableWidget->setColumnWidth(6,80);
                  ui->tableWidget->setColumnWidth(7,80);
                  ui->tableWidget->setColumnWidth(8,80);
              
              
              
                  QStringList horz_header;
                  horz_header.clear();
                  horz_header.append(“T1”);
                  horz_header.append(“T2”);
                  horz_header.append(“T3”);
                  horz_header.append(“T4”);
                  horz_header.append(“T5”);
                  horz_header.append(“T6”);
                  horz_header.append(“T7”);
                  horz_header.append(“T8”);
                  horz_header.append(“T9”);
                  ui->tableWidget->setHorizontalHeaderLabels(horz_header);
              
                  QStringList vert_header;
                  vert_header.clear();
                  vert_header.append("P1");
                  vert_header.append("P2");
                  vert_header.append("P3");
                  vert_header.append("P4");
              
                  ui->tableWidget->setVerticalHeaderLabels(vert_header);
                  ui->tableWidget->horizontalHeader()->setVisible(true);
                  ui->tableWidget->verticalHeader()->setVisible(true);
                  ui->tableWidget-setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
                  ui->tableWidget->setAutoScroll(false);
              
              
                  ui->tableWidget->setItem(0,0,Display_item_0_0);
                  ui->tableWidget->setItem(0,1,Display_item_0_1);
                  ui->tableWidget->setItem(0,2,Display_item_0_2);
                  ui->tableWidget->setItem(0,3,Display_item_0_3);
                  ui->tableWidget->setItem(0,4,Display_item_0_4);
                  ui->tableWidget->setItem(0,5,Display_item_0_5);
                  ui->tableWidget->setItem(0,6,Display_item_0_6);
                  ui->tableWidget->setItem(0,7,Display_item_0_7);
                  ui->tableWidget->setItem(0,8,Display_item_0_8);
                  ui->tableWidget->setItem(1,0,Display_item_1_0);
                  ui->tableWidget->setItem(1,1,Display_item_1_1);
                  ui->tableWidget->setItem(1,2,Display_item_1_2);
                  ui->tableWidget->setItem(1,3,Display_item_1_3);
                  ui->tableWidget->setItem(1,4,Display_item_1_4);
                  ui->tableWidget->setItem(1,5,Display_item_1_5);
                  ui->tableWidget->setItem(1,6,Display_item_1_6);
                  ui->tableWidget->setItem(1,7,Display_item_1_7);
                  ui->tableWidget->setItem(1,8,Display_item_1_8);
              

              .........
              .........
              ..........

              ui->tableWidget->setItem(513,0,FDP_Display_item_513_0);
              ui->tableWidget->setItem(513,1,FDP_Display_item_513_1);
              ui->tableWidget->setItem(513,2,FDP_Display_item_513_2);
              ui->tableWidget->setItem(513,3,FDP_Display_item_513_3);
              ui->tableWidget->setItem(513,4,FDP_Display_item_513_4);
              ui->tableWidget->setItem(513,5,FDP_Display_item_513_5);
              ui->tableWidget->setItem(513,6,FDP_Display_item_513_6);
              ui->tableWidget->setItem(513,7,FDP_Display_item_513_7);
              ui->tableWidget->setItem(513,8,FDP_Display_item_513_8);

              ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
              ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
              ui->tableWidget->setShowGrid(true);
              ui->tableWidget->horizontalHeader()->setSectionsMovable(true);
              ui->tableWidget->horizontalHeader()->setSectionsClickable(true);
              ui->tableWidget->horizontalHeader()->etSectionResizeMode(QHeaderView::Fixed);

              }

              Key_Up_Routine {

              int scroll;

              qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
              scroll = ui->tableWidget->verticalScrollBar()->value();
              if(scroll >= 10) {
                  ui->tableWidget->verticalScrollBar()->setValue((scroll - 10));
              }
              qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());
              

              }

              Key_Down_Routine {
              int scroll;

              qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
              

              scroll = ui->tableWidget->verticalScrollBar()->value();
              ui->tableWidget->verticalScrollBar()->setValue((scroll + 10));
              qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());

              }

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #7

              @Sajeevan-K said in Vertical ScrollBar of QTableWidget not moving as expected:

              QTableWidgetItem * Display_item_0_0 = new QTableWidgetItem("0");
              QTableWidgetItem * Display_item_0_1 = new QTableWidgetItem("1");
              QTableWidgetItem * Display_item_0_2 = new QTableWidgetItem("2");
              QTableWidgetItem * Display_item_0_3 = new QTableWidgetItem("3");
              QTableWidgetItem * Display_item_0_4 = new QTableWidgetItem("4");
              QTableWidgetItem * Display_item_0_5 = new QTableWidgetItem("5");
              QTableWidgetItem * Display_item_0_6 = new QTableWidgetItem("6");
              QTableWidgetItem * Display_item_0_7 = new QTableWidgetItem("7");
              QTableWidgetItem * Display_item_0_8 = new QTableWidgetItem("8");
              QTableWidgetItem * Display_item_1_0 = new QTableWidgetItem("0");
              QTableWidgetItem * Display_item_1_1 = new QTableWidgetItem("1");
              QTableWidgetItem * Display_item_1_2 = new QTableWidgetItem("2");
              QTableWidgetItem * Display_item_1_3 = new QTableWidgetItem("3");
              QTableWidgetItem * Display_item_1_4 = new QTableWidgetItem("4");
              QTableWidgetItem * Display_item_1_5 = new QTableWidgetItem("5");
              QTableWidgetItem * Display_item_1_6 = new QTableWidgetItem("6");
              QTableWidgetItem * Display_item_1_7 = new QTableWidgetItem("7");
              QTableWidgetItem * Display_item_1_8 = new QtableWidgetItem("8");

              Why don't you use loops?

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              1
              • S Offline
                S Offline
                Sajeevan K
                wrote on last edited by
                #8

                Hi jsulm,

                I tried using loop for this. But my knowledge in qt is limited.
                I don't know how to make the names like Display_item_0_0 in a loop.
                If it is a string it is easy. I think something like unstring operation is required for this.

                The code I sent, does not contain all the declarations of Display items and assigning it to QTableWidget. Otherwise it contains all the things that I am testing.

                Today by evening, I will make a Table with just 25 rows and see the result.
                Thank You for supporting.

                jsulmJ VRoninV 2 Replies Last reply
                0
                • S Sajeevan K

                  Hi jsulm,

                  I tried using loop for this. But my knowledge in qt is limited.
                  I don't know how to make the names like Display_item_0_0 in a loop.
                  If it is a string it is easy. I think something like unstring operation is required for this.

                  The code I sent, does not contain all the declarations of Display items and assigning it to QTableWidget. Otherwise it contains all the things that I am testing.

                  Today by evening, I will make a Table with just 25 rows and see the result.
                  Thank You for supporting.

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #9

                  @Sajeevan-K said in Vertical ScrollBar of QTableWidget not moving as expected:

                  I don't know how to make the names like Display_item_0_0 in a loop

                  Do you really need names for all of them? What do you do with all these names later?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  2
                  • S Sajeevan K

                    Hi jsulm,

                    I tried using loop for this. But my knowledge in qt is limited.
                    I don't know how to make the names like Display_item_0_0 in a loop.
                    If it is a string it is easy. I think something like unstring operation is required for this.

                    The code I sent, does not contain all the declarations of Display items and assigning it to QTableWidget. Otherwise it contains all the things that I am testing.

                    Today by evening, I will make a Table with just 25 rows and see the result.
                    Thank You for supporting.

                    VRoninV Offline
                    VRoninV Offline
                    VRonin
                    wrote on last edited by
                    #10

                    @Sajeevan-K said in Vertical ScrollBar of QTableWidget not moving as expected:

                    I don't know how to make the names like Display_item_0_0 in a loop.

                    http://www.cplusplus.com/doc/tutorial/arrays/

                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                    ~Napoleon Bonaparte

                    On a crusade to banish setIndexWidget() from the holy land of Qt

                    1 Reply Last reply
                    2
                    • S Offline
                      S Offline
                      Sajeevan K
                      wrote on last edited by
                      #11

                      Hi jsulm,

                      Thank You. I got Your point.

                      And the code is rewritten as shown below:

                      But the result is same. Still the maximum is 2 only.

                      form_Table {

                          ui->tableWidget->setGeometry(-2,40,804,15424);
                          ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
                          ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
                      
                          ui->tableWidget->setRowCount(514);
                          ui->tableWidget->setColumnCount(9);
                      
                      
                          ui->tableWidget->setColumnWidth(0,80);
                          ui->tableWidget->setColumnWidth(1,80);
                          ui->tableWidget->setColumnWidth(2,80);
                          ui->tableWidget->setColumnWidth(3,80);
                          ui->tableWidget->setColumnWidth(4,80);
                          ui->tableWidget->setColumnWidth(5,80);
                          ui->tableWidget->setColumnWidth(6,80);
                          ui->tableWidget->setColumnWidth(7,80);
                          ui->tableWidget->setColumnWidth(8,80);
                      
                      
                      
                          QStringList horz_header;
                          horz_header.clear();
                          horz_header.append(“T1”);
                          horz_header.append(“T2”);
                          horz_header.append(“T3”);
                          horz_header.append(“T4”);
                          horz_header.append(“T5”);
                          horz_header.append(“T6”);
                          horz_header.append(“T7”);
                          horz_header.append(“T8”);
                          horz_header.append(“T9”);
                          ui->tableWidget->setHorizontalHeaderLabels(horz_header);
                      
                          QStringList vert_header;
                          vert_header.clear();
                          vert_header.append("P1");
                          vert_header.append("P2");
                          vert_header.append("P3");
                          vert_header.append("P4");
                      
                          ui->tableWidget->setVerticalHeaderLabels(vert_header);
                          ui->tableWidget->horizontalHeader()->setVisible(true);
                          ui->tableWidget->verticalHeader()->setVisible(true);
                          ui->tableWidget-setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
                          ui->tableWidget->setAutoScroll(false);
                      

                      QStringList str_list;
                      str_list.clear();
                      str_list.append("0");
                      str_list.append("1");
                      str_list.append("2");
                      str_list.append("3");
                      str_list.append("4");
                      str_list.append("5");
                      str_list.append("6");
                      str_list.append("7");
                      str_list.append("8");
                      int row, column;
                      for (row = 0; row < 514; row++) {
                      for (column = 0; column < 9; column++) {
                      QTableWidgetItem * Display_item = new QTableWidgetItem(str_list.at(column));
                      ui->tableWidget_FDP->setItem(row,column, Display_item );
                      }
                      }

                      ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
                      ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
                      ui->tableWidget->setShowGrid(true);
                      ui->tableWidget->horizontalHeader()->setSectionsMovable(true);
                      ui->tableWidget->horizontalHeader()->setSectionsClickable(true);
                      ui->tableWidget->horizontalHeader()->etSectionResizeMode(QHeaderView::Fixed);

                      }

                      Key_Up_Routine {

                      int scroll;

                      qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                      scroll = ui->tableWidget->verticalScrollBar()->value();
                      if(scroll >= 10) {
                          ui->tableWidget->verticalScrollBar()->setValue((scroll - 10));
                      }
                      qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());
                      

                      }

                      Key_Down_Routine {
                      int scroll;

                      qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                      

                      scroll = ui->tableWidget->verticalScrollBar()->value();
                      ui->tableWidget->verticalScrollBar()->setValue((scroll + 10));
                      qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());

                      }

                      jsulmJ 1 Reply Last reply
                      0
                      • S Sajeevan K

                        Hi jsulm,

                        Thank You. I got Your point.

                        And the code is rewritten as shown below:

                        But the result is same. Still the maximum is 2 only.

                        form_Table {

                            ui->tableWidget->setGeometry(-2,40,804,15424);
                            ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
                            ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
                        
                            ui->tableWidget->setRowCount(514);
                            ui->tableWidget->setColumnCount(9);
                        
                        
                            ui->tableWidget->setColumnWidth(0,80);
                            ui->tableWidget->setColumnWidth(1,80);
                            ui->tableWidget->setColumnWidth(2,80);
                            ui->tableWidget->setColumnWidth(3,80);
                            ui->tableWidget->setColumnWidth(4,80);
                            ui->tableWidget->setColumnWidth(5,80);
                            ui->tableWidget->setColumnWidth(6,80);
                            ui->tableWidget->setColumnWidth(7,80);
                            ui->tableWidget->setColumnWidth(8,80);
                        
                        
                        
                            QStringList horz_header;
                            horz_header.clear();
                            horz_header.append(“T1”);
                            horz_header.append(“T2”);
                            horz_header.append(“T3”);
                            horz_header.append(“T4”);
                            horz_header.append(“T5”);
                            horz_header.append(“T6”);
                            horz_header.append(“T7”);
                            horz_header.append(“T8”);
                            horz_header.append(“T9”);
                            ui->tableWidget->setHorizontalHeaderLabels(horz_header);
                        
                            QStringList vert_header;
                            vert_header.clear();
                            vert_header.append("P1");
                            vert_header.append("P2");
                            vert_header.append("P3");
                            vert_header.append("P4");
                        
                            ui->tableWidget->setVerticalHeaderLabels(vert_header);
                            ui->tableWidget->horizontalHeader()->setVisible(true);
                            ui->tableWidget->verticalHeader()->setVisible(true);
                            ui->tableWidget-setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
                            ui->tableWidget->setAutoScroll(false);
                        

                        QStringList str_list;
                        str_list.clear();
                        str_list.append("0");
                        str_list.append("1");
                        str_list.append("2");
                        str_list.append("3");
                        str_list.append("4");
                        str_list.append("5");
                        str_list.append("6");
                        str_list.append("7");
                        str_list.append("8");
                        int row, column;
                        for (row = 0; row < 514; row++) {
                        for (column = 0; column < 9; column++) {
                        QTableWidgetItem * Display_item = new QTableWidgetItem(str_list.at(column));
                        ui->tableWidget_FDP->setItem(row,column, Display_item );
                        }
                        }

                        ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
                        ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
                        ui->tableWidget->setShowGrid(true);
                        ui->tableWidget->horizontalHeader()->setSectionsMovable(true);
                        ui->tableWidget->horizontalHeader()->setSectionsClickable(true);
                        ui->tableWidget->horizontalHeader()->etSectionResizeMode(QHeaderView::Fixed);

                        }

                        Key_Up_Routine {

                        int scroll;

                        qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                        scroll = ui->tableWidget->verticalScrollBar()->value();
                        if(scroll >= 10) {
                            ui->tableWidget->verticalScrollBar()->setValue((scroll - 10));
                        }
                        qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());
                        

                        }

                        Key_Down_Routine {
                        int scroll;

                        qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                        

                        scroll = ui->tableWidget->verticalScrollBar()->value();
                        ui->tableWidget->verticalScrollBar()->setValue((scroll + 10));
                        qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());

                        }

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        @Sajeevan-K You still can simplify your code with loops :-)

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        1
                        • S Offline
                          S Offline
                          Sajeevan K
                          wrote on last edited by
                          #13

                          Hi jsulm,

                          Thank You for Your suggestions. Today I am busy with my work. Tomorrow I will test it and give a feedback.

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            Sajeevan K
                            wrote on last edited by
                            #14

                            Hi jsulm,

                            Sorry for the delay. I have been busy with a customer inspection.

                            As per Your suggestion, I reduced it further as shown below.

                            Now the maximum() is reduced to 1.

                            form_Table {

                            int row, column;

                                ui->tableWidget->setGeometry(-2,40,804,15424);
                            
                                ui->tableWidget->horizontalHeader()->setDefaultSectionSize(80);
                            
                                ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);
                            
                                ui->label_FDP_Display->setGeometry(-2,0,804,40);
                            
                            
                                ui->tableWidget->setRowCount(514);
                            
                                ui->tableWidget->setColumnCount(9);
                                for (column = 0; column < 9; column++) {
                                    ui->tableWidget->setColumnWidth(column,80);
                                }
                            

                            QStringList horz_header;
                            horz_header.clear();

                                QString hh_str;
                                for (column = 0; column < 9; column++) {
                                    hh_str.clear();
                                    hh_str.append("T");
                                    hh_str.append(QString::number(column));
                                    horz_header.append(hh_str);
                                }
                            

                            ui->tableWidget->setHorizontalHeaderLabels(horz_header);

                            QStringList vert_header;
                                vert_header.clear();
                            
                                QString vh_str;
                                for (row = 0; row < 514; row++) {
                                    vh_str.clear();
                                    vh_str.append("P");
                                    vh_str.append(QString::number(row));
                                    vert_header.append(vh_str);
                                }
                            

                            ui->tableWidget->setVerticalHeaderLabels(vert_header);

                            ui->tableWidget->horizontalHeader()->setVisible(true);
                            ui->tableWidget->verticalHeader()->setVisible(true);
                            ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
                            ui->tableWidget->setAutoScroll(false);

                                QString item_str;
                                for (row = 0; row < 514; row++) {
                                    for (column = 0; column < 9; column++) {
                                        item_str.clear();
                                        item_str.append(QString::number(row));
                                        item_str.append(",");
                                        item_str.append(QString::number(column));
                                        QTableWidgetItem * FDP_Display_item = new QTableWidgetItem(item_str);
                                        ui->tableWidget->setItem(row,column, FDP_Display_item );
                                    }
                                }
                            

                            ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);

                                ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
                            

                            ui->tableWidget->setShowGrid(true);
                            ui->tableWidget->horizontalHeader()->setSectionsMovable(true);
                            ui->tableWidget->horizontalHeader()->setSectionsClickable(true);
                            ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);

                            }

                            Key_Up_Routine {

                            int scroll;

                            qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                            scroll = ui->tableWidget->verticalScrollBar()->value();
                            if(scroll >= 10) {
                                ui->tableWidget->verticalScrollBar()->setValue((scroll - 10));
                            }
                            qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());
                            

                            }

                            Key_Down_Routine {
                            int scroll;

                            qDebug("current value = %d ", ui->tableWidget->verticalScrollBar()->value());
                            

                            scroll = ui->tableWidget->verticalScrollBar()->value();
                            ui->tableWidget->verticalScrollBar()->setValue((scroll + 10));
                            qDebug("new value = %d ", ui->tableWidget->verticalScrollBar()->value());

                            }

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Sajeevan K
                              wrote on last edited by
                              #15

                              Hi jsulm,

                              I could finally solve the issue. The problem was in the line

                              ui->tableWidget->setGeometry(-2,40,804,15424);

                              Generally for ui->tableWidget->setGeometry(x,y,width,hight),

                              hight should be equal to number of rows in one page * default vertical section size.

                              Thank You for the hints SGaist, jsulm

                              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