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
Forum Updated to NodeBB v4.3 + New Features

Vertical ScrollBar of QTableWidget not moving as expected

Scheduled Pinned Locked Moved Solved General and Desktop
15 Posts 4 Posters 2.9k Views 1 Watching
  • 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.
  • 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 Online
            jsulmJ Online
            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 Online
                jsulmJ Online
                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 Online
                      jsulmJ Online
                      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