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 Programmatically Select Cells
QtWS25 Last Chance

QTableWidget Programmatically Select Cells

Scheduled Pinned Locked Moved Solved General and Desktop
qtablewidgetcellselectslotssignals
3 Posts 2 Posters 8.0k 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.
  • oblivioncthO Offline
    oblivioncthO Offline
    oblivioncth
    wrote on last edited by oblivioncth
    #1

    Hello,

    I currently have a QTableWidget setup with 5 rows and 3 columns and only the cells under column 1 are delectable. I have a slot:

    void MainWindow::on_imgTable_cellClicked(int row, int column)
    

    which makes it so when a cell in that column is selected a corresponding image is displayed in a separate QLabel widget. This works totally fine.

    However, column 0 contains buttons that when clicked either add an image path or remove one into a variable, depending on if one was there or not already. It is these images that are previewed when the cells in the column 1 are selected. I want to add the additional functionality so that when you click one of the buttons in column 0 to add an image, its corresponding cell in column 1 is automatically selected as if the user had clicked on it and that slot above is triggered (again as if the user had actually clicked the cell).

    I checked through the documentation and tried using "QAbstractItemView::setCurrentIndex() " and something like:

    select(TABLEWIDG->model()->index(row,colum), QItemSelectionModel::Select);
    

    but in both cases the cell is "selected" with a dull grey color that is barely distinguishable from the white and the slot is not activated. So, how can I have the cell programmatically selected with the typical blue highlight as if the user had clicked it and have the cells "clicked()" slot trigger? I am assuming I can just call the slot if having it trigger without the user actually clicking the cell isn't possible. If that is the case I just need to know how to get it to appear selected with the standard blue highlight.

    Thank you.

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

      Hi,

      IIRC, you should set the focus on the QTableWidget so it makes it the active widget.

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

      oblivioncthO 1 Reply Last reply
      1
      • SGaistS SGaist

        Hi,

        IIRC, you should set the focus on the QTableWidget so it makes it the active widget.

        oblivioncthO Offline
        oblivioncthO Offline
        oblivioncth
        wrote on last edited by
        #3

        @SGaist

        Thank you. That seemed to be the last missing piece. It does what I want now.

        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