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

Dynamic handling for QTableWidget

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 3 Posters 6.4k 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.
  • P Piyush

    How can I handle adding/removing rows in a QTableWidget dynamically using Qt Designer?

    Currently, whenever I need to update any row(s) in a tablewidget, I have to update the whole table again. Is there any way by which I can add a row in between and shift all the rows down, like we have for excel?

    Also, while setting any element I am using the following setting any label or any value:

    self.ui.tablewidget1.setItem(0, 0, QTableWidgetItem("Overall Data A"))
    self.ui.tablewidget1.setItem(0, 1, QTableWidgetItem(str("{:.2%}".format(0.02))))

    Screenshot of my table:

    0_1518158355054_Snip.PNG

    I am working on it item by item under edit table widget (Qt Designer), which is really time consuming.

    Also, is there a way i can define some areas as name range in this table and call the data using that name range, like we have in excel.

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

    @Piyush Simply right click on table widget then "Edit items...". Then you can add/remove columns/rows and you can move them up/down or right/left.

    "Also, while setting any element I am using the following setting any label or any value:" - is this a question?

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

    P 1 Reply Last reply
    0
    • jsulmJ jsulm

      @Piyush Simply right click on table widget then "Edit items...". Then you can add/remove columns/rows and you can move them up/down or right/left.

      "Also, while setting any element I am using the following setting any label or any value:" - is this a question?

      P Offline
      P Offline
      Piyush
      wrote on last edited by
      #3

      @jsulm I forgot to mention this earlier, but in this tablewidget i have kept the vertical and horizontal headers as hidden. All the row/column headers in this are actually written on cell itself. Likewise, I have different header on Gray cells.

      In this case if I want to add any value in between then how should I proceed?

      The sample code lines were just for example to show that my header are inserted in cells

      jsulmJ 1 Reply Last reply
      0
      • P Piyush

        @jsulm I forgot to mention this earlier, but in this tablewidget i have kept the vertical and horizontal headers as hidden. All the row/column headers in this are actually written on cell itself. Likewise, I have different header on Gray cells.

        In this case if I want to add any value in between then how should I proceed?

        The sample code lines were just for example to show that my header are inserted in cells

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

        @Piyush Maybe I don't understand something, but what's the difference? You still can add/remove rows/columns.

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

        P 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Piyush Maybe I don't understand something, but what's the difference? You still can add/remove rows/columns.

          P Offline
          P Offline
          Piyush
          wrote on last edited by Piyush
          #5

          @jsulm I am actually using one tablewidget for multiple tables. Therefore, I have not used the column/row header and added the same in form of items in the widget. I have created the tablewidget in the following way:

          Screenshot for edit table, column tab:

          0_1518413900698_77b5c92f-2769-46cc-b502-cb43528e582e-image.png

          Row tab:
          0_1518413985583_b2268b6f-9e8d-49e5-be67-4a0874d1a541-image.png

          Items tab:
          0_1518414040182_d4b023a3-c8b8-4123-b456-c01cd24ea0aa-image.png

          In items tab there will be headings in the grey area. This enables me to add multiple table in single tablewidget.

          So, the issue arrives when I need to add something in the middle. As you said that, we can add/remove rows/columns. But, currently I cannot do that.

          Does that mean I have to redesign the whole tablewidget? Use column and rows tab and then do the editing like I did. Is that correct. Is there any way I can do the same without redesigning? (just add columns/rows and copy paste all the items in one go)

          jsulmJ 1 Reply Last reply
          0
          • P Piyush

            @jsulm I am actually using one tablewidget for multiple tables. Therefore, I have not used the column/row header and added the same in form of items in the widget. I have created the tablewidget in the following way:

            Screenshot for edit table, column tab:

            0_1518413900698_77b5c92f-2769-46cc-b502-cb43528e582e-image.png

            Row tab:
            0_1518413985583_b2268b6f-9e8d-49e5-be67-4a0874d1a541-image.png

            Items tab:
            0_1518414040182_d4b023a3-c8b8-4123-b456-c01cd24ea0aa-image.png

            In items tab there will be headings in the grey area. This enables me to add multiple table in single tablewidget.

            So, the issue arrives when I need to add something in the middle. As you said that, we can add/remove rows/columns. But, currently I cannot do that.

            Does that mean I have to redesign the whole tablewidget? Use column and rows tab and then do the editing like I did. Is that correct. Is there any way I can do the same without redesigning? (just add columns/rows and copy paste all the items in one go)

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

            @Piyush If you need to add a row in the middle then first add it via + button, then select it and move it to the place where you want to have it using the up button (arrow shoing up). Is this working?

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

            P 1 Reply Last reply
            0
            • jsulmJ jsulm

              @Piyush If you need to add a row in the middle then first add it via + button, then select it and move it to the place where you want to have it using the up button (arrow shoing up). Is this working?

              P Offline
              P Offline
              Piyush
              wrote on last edited by
              #7

              @jsulm That is not working. It adds the row on the top which cannot be moved/shifted down using the arrow keys

              mrjjM 1 Reply Last reply
              0
              • P Piyush

                @jsulm That is not working. It adds the row on the top which cannot be moved/shifted down using the arrow keys

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

                @Piyush
                Hi
                works fine here
                alt text

                P 1 Reply Last reply
                0
                • mrjjM mrjj

                  @Piyush
                  Hi
                  works fine here
                  alt text

                  P Offline
                  P Offline
                  Piyush
                  wrote on last edited by Piyush
                  #9

                  @mrjj please have a look at my previous comment. I have explained the case in that.

                  1 Reply Last reply
                  0
                  • mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    Hi
                    If there is no rows and cols , there can be no items.
                    So im really not sure what you are asking. :)

                    P 1 Reply Last reply
                    0
                    • mrjjM mrjj

                      Hi
                      If there is no rows and cols , there can be no items.
                      So im really not sure what you are asking. :)

                      P Offline
                      P Offline
                      Piyush
                      wrote on last edited by
                      #11

                      @mrjj Hi

                      If we do the following in QT Designer on a blank tablewidget, then we have blank items without any rows/columns appearing under rows/columns tab.

                      0_1518438058823_25123e57-a0dc-43f1-b112-ee01e8a19113-image.png

                      mrjjM jsulmJ 2 Replies Last reply
                      1
                      • P Piyush

                        @mrjj Hi

                        If we do the following in QT Designer on a blank tablewidget, then we have blank items without any rows/columns appearing under rows/columns tab.

                        0_1518438058823_25123e57-a0dc-43f1-b112-ee01e8a19113-image.png

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

                        @Piyush
                        Ahh , in that way :)
                        yeah that is the same it seems,
                        except u cant move rows up and down as they are not there :)
                        Hmm, yes i see your point. its then not possible to add row in the middle since rows before and after
                        do not really exists for it.

                        1 Reply Last reply
                        0
                        • P Piyush

                          @mrjj Hi

                          If we do the following in QT Designer on a blank tablewidget, then we have blank items without any rows/columns appearing under rows/columns tab.

                          0_1518438058823_25123e57-a0dc-43f1-b112-ee01e8a19113-image.png

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

                          @Piyush What if you don't set fix number of rows and columns? Just add everything in this item editor.

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

                          P 1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @Piyush What if you don't set fix number of rows and columns? Just add everything in this item editor.

                            P Offline
                            P Offline
                            Piyush
                            wrote on last edited by
                            #14

                            @jsulm If we do not set fix number of rows/columns, then we first need to add rows/columns from rows/columns tab. Then it becomes dynamic in the way that we can move rows up/down/delete. Thanks.

                            @mrjj Yeah. I will have to make it again in a dynamic way. Thanks for the discussion.

                            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