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

QTableWidget::itemSelectionChanged

Scheduled Pinned Locked Moved General and Desktop
26 Posts 6 Posters 8.4k Views 3 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.
  • Christian EhrlicherC Offline
    Christian EhrlicherC Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on last edited by
    #2

    currentRow() is where the focus is currently on, currentSelection the current selection(range) - these are two completely different things.

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    1 Reply Last reply
    2
    • MegamouseM Offline
      MegamouseM Offline
      Megamouse
      wrote on last edited by
      #3

      That doesnt explain why the currentrow is different when i click vs when i drag.
      To me it seems like the corresponding signal is not fired at the intended moment on one of these occasions

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

        Hi,

        What exactly do you mean by "drag the mouse" ? If you just hover your mouse over your view, then there's no change in the current selected row/item.

        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
        • MegamouseM Offline
          MegamouseM Offline
          Megamouse
          wrote on last edited by
          #5

          click an item, keep the left mouse button pressed, then drag it to the next row so that it changes its selection.

          mrjjM 1 Reply Last reply
          0
          • MegamouseM Megamouse

            click an item, keep the left mouse button pressed, then drag it to the next row so that it changes its selection.

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #6

            @Megamouse
            Hi
            What Qt version are u using ?
            I cant seem to reproducing it not calling currentRow on drag to extend selection or
            on single selection only.

            alt text

            alt text

            1 Reply Last reply
            3
            • MegamouseM Offline
              MegamouseM Offline
              Megamouse
              wrote on last edited by
              #7

              no. I am calling currentRow

              mrjjM 1 Reply Last reply
              0
              • MegamouseM Megamouse

                no. I am calling currentRow

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by mrjj
                #8

                @Megamouse
                Hi
                So do i

                void MainWindow::on_listWidget_currentRowChanged(int currentRow) {
                 ui->label->setText( QString::number(currentRow) );
                }
                
                

                Update:
                You mean u manually call currentRow and then its out of sync?

                1 Reply Last reply
                1
                • MegamouseM Offline
                  MegamouseM Offline
                  Megamouse
                  wrote on last edited by
                  #9

                  call currentrow in the slot for itemSelectionChanged

                  1 Reply Last reply
                  0
                  • MegamouseM Offline
                    MegamouseM Offline
                    Megamouse
                    wrote on last edited by Megamouse
                    #10

                    it will be different depending if you click or click and drag.

                    btw Qt version is the awful 5.11.1 that completely broke the nativeevent message

                    mrjjM 1 Reply Last reply
                    0
                    • MegamouseM Megamouse

                      it will be different depending if you click or click and drag.

                      btw Qt version is the awful 5.11.1 that completely broke the nativeevent message

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #11

                      @Megamouse
                      Hi
                      Tried with

                      void MainWindow::on_listWidget_itemSelectionChanged() {
                        ui->label->setText( QString::number(ui->listWidget->currentRow()) );
                      }
                      

                      and it follows fine. So not sure why you see different results.
                      (also using 5.11.1)

                      • 5.11.1 that completely broke the nativeevent message
                        in what way ?
                      1 Reply Last reply
                      0
                      • MegamouseM Offline
                        MegamouseM Offline
                        Megamouse
                        wrote on last edited by Megamouse
                        #12

                        Can you send me the sample you use?

                        For the nativeevent:
                        Apparently it is already fixed for Qt 5.11.2.
                        But to explain:
                        One of the devs added a copy pasta mistake and now we need to cast the nativeEvent messages like this for Qt 5.11.1:

                        #if (QT_VERSION == QT_VERSION_CHECK(5, 11, 1))
                        MSG* msg = *reinterpret_cast<MSG**>(message);
                        #else
                        MSG* msg = reinterpret_cast<MSG*>(message);
                        #endif
                        

                        For some programs this breaks the whole application

                        mrjjM HojjatJafaryH 2 Replies Last reply
                        1
                        • MegamouseM Megamouse

                          Can you send me the sample you use?

                          For the nativeevent:
                          Apparently it is already fixed for Qt 5.11.2.
                          But to explain:
                          One of the devs added a copy pasta mistake and now we need to cast the nativeEvent messages like this for Qt 5.11.1:

                          #if (QT_VERSION == QT_VERSION_CHECK(5, 11, 1))
                          MSG* msg = *reinterpret_cast<MSG**>(message);
                          #else
                          MSG* msg = reinterpret_cast<MSG*>(message);
                          #endif
                          

                          For some programs this breaks the whole application

                          mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by
                          #13

                          @Megamouse
                          ofc but its just default gui project with ListWidget
                          https://www.dropbox.com/s/y6dxx17dd6mc1cd/untitled68.zip?dl=0

                          oh, i see. type was changed to **
                          Well good they fixed it so fast :)

                          1 Reply Last reply
                          0
                          • MegamouseM Offline
                            MegamouseM Offline
                            Megamouse
                            wrote on last edited by
                            #14

                            in the second half you can see what i mean

                            0_1532863484741_ugh.gif

                            mrjjM 1 Reply Last reply
                            0
                            • MegamouseM Megamouse

                              in the second half you can see what i mean

                              0_1532863484741_ugh.gif

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by
                              #15

                              @Megamouse
                              Ah, yes, now i can do it too.
                              Holding left and rapid move up and down seems to lag behind one.
                              Funny enough the signal is correct. (right side)
                              alt text

                              Seems to be the order of signals.
                              As if i make a button

                              void MainWindow::on_pushButton_released()
                              {
                                  ui->label->setText( QString::number(ui->listWidget->currentRow()) );
                              }
                              

                              and then ask it, its correct.
                              so it seems when in itemSelectionChanged and not released the left buttons, its
                              not updated yet.

                              1 Reply Last reply
                              0
                              • MegamouseM Offline
                                MegamouseM Offline
                                Megamouse
                                wrote on last edited by
                                #16

                                exactly. and in my opinion that's missing in the documentation.
                                or even wrong in general

                                mrjjM 1 Reply Last reply
                                0
                                • MegamouseM Megamouse

                                  exactly. and in my opinion that's missing in the documentation.
                                  or even wrong in general

                                  mrjjM Offline
                                  mrjjM Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #17

                                  @Megamouse
                                  Well it might be border case and hence the slightly odd behavior.
                                  Since we are using SingleSelection, the dragging is really not needed as user
                                  can just click on the one he wants.

                                  1 Reply Last reply
                                  0
                                  • MegamouseM Offline
                                    MegamouseM Offline
                                    Megamouse
                                    wrote on last edited by
                                    #18

                                    Well.
                                    I use the selection as a direct visual indication.
                                    Meaning if you change the list object the view will show corresponding data on another table.

                                    So if i were to use currentrow in this case the data would be wrong.

                                    mrjjM 1 Reply Last reply
                                    0
                                    • MegamouseM Megamouse

                                      Well.
                                      I use the selection as a direct visual indication.
                                      Meaning if you change the list object the view will show corresponding data on another table.

                                      So if i were to use currentrow in this case the data would be wrong.

                                      mrjjM Offline
                                      mrjjM Offline
                                      mrjj
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #19

                                      @Megamouse

                                      Well did you try the signal for that. seems to be correct even
                                      when ui->listWidget->currentRow() is off. ?

                                      1 Reply Last reply
                                      0
                                      • MegamouseM Offline
                                        MegamouseM Offline
                                        Megamouse
                                        wrote on last edited by
                                        #20

                                        don't worry about it. It's fixed anyway. I just think it's a weird glitch or "feature"

                                        mrjjM 1 Reply Last reply
                                        0
                                        • MegamouseM Megamouse

                                          don't worry about it. It's fixed anyway. I just think it's a weird glitch or "feature"

                                          mrjjM Offline
                                          mrjjM Offline
                                          mrjj
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #21

                                          @Megamouse

                                          indeed it is.

                                          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