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. PyQt5 QTreeWidget Multiple Column Count
Forum Updated to NodeBB v4.3 + New Features

PyQt5 QTreeWidget Multiple Column Count

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 2 Posters 1.3k 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.
  • EmrecpE Offline
    EmrecpE Offline
    Emrecp
    wrote on last edited by Emrecp
    #1

    Hello,
    I am using QTreeWidget.
    soru.png
    or https://ibb.co/qjhKWPY (backup for image)
    As i specify in screenshot, i want to expand 1 to 4 columns for see all of text.
    My Code:

                baslik = QTreeWidgetItem([str(veri.Masa), str(veri.CPU), str(veri.GPU), str(veri.RAM)])
                icerik_islemci = QTreeWidgetItem(["İşlemci:", str(veri.CPU)])
                icerik_ekrankarti = QTreeWidgetItem(["Ekran Kartı:", str(veri.GPU)])
                icerik_anakart = QTreeWidgetItem(["Anakart:", str(veri.Motherboard)])
                #icerik_islemci.setExpanded(True)
                #icerik_ekrankarti.setExpanded(True)
                #icerik_anakart.setExpanded(True)
                #baslik.setExpanded(True)
                #icerik_islemci.setExpanded(True)
                #icerik_islemci.setFirstColumnSpanned(True)
                baslik.addChild(icerik_islemci)
                baslik.addChild(icerik_ekrankarti)
                baslik.addChild(icerik_anakart)
    
                self.liste.addTopLevelItem(baslik)
    

    Thanks

    JonBJ 1 Reply Last reply
    0
    • EmrecpE Offline
      EmrecpE Offline
      Emrecp
      wrote on last edited by
      #5

      @JonB said in PyQt5 QTreeWidget Multiple Column Count:

      column spanning

      Thank you!
      I solved with this code

                  icerik_islemci = QTreeWidgetItem(["İşlemci:%s"% str(veri.CPU)]) # it was 2 strings, now 1. ( "islemci:", str(veri.CPU) )
                  self.liste.addTopLevelItem(baslik) 
                  icerik_islemci.setFirstColumnSpanned(True)
      

      But i want to ask, is it possible to span colum n 2 to 4 ? This code spanning from 1 to 4.
      Thank you :)

      1 Reply Last reply
      0
      • EmrecpE Emrecp

        Hello,
        I am using QTreeWidget.
        soru.png
        or https://ibb.co/qjhKWPY (backup for image)
        As i specify in screenshot, i want to expand 1 to 4 columns for see all of text.
        My Code:

                    baslik = QTreeWidgetItem([str(veri.Masa), str(veri.CPU), str(veri.GPU), str(veri.RAM)])
                    icerik_islemci = QTreeWidgetItem(["İşlemci:", str(veri.CPU)])
                    icerik_ekrankarti = QTreeWidgetItem(["Ekran Kartı:", str(veri.GPU)])
                    icerik_anakart = QTreeWidgetItem(["Anakart:", str(veri.Motherboard)])
                    #icerik_islemci.setExpanded(True)
                    #icerik_ekrankarti.setExpanded(True)
                    #icerik_anakart.setExpanded(True)
                    #baslik.setExpanded(True)
                    #icerik_islemci.setExpanded(True)
                    #icerik_islemci.setFirstColumnSpanned(True)
                    baslik.addChild(icerik_islemci)
                    baslik.addChild(icerik_ekrankarti)
                    baslik.addChild(icerik_anakart)
        
                    self.liste.addTopLevelItem(baslik)
        

        Thanks

        JonBJ Offline
        JonBJ Offline
        JonB
        wrote on last edited by
        #2

        @Emrecp
        Set your column widths explicitly, or look at using QTreeView.resizeColumnToContents().

        1 Reply Last reply
        2
        • EmrecpE Offline
          EmrecpE Offline
          Emrecp
          wrote on last edited by Emrecp
          #3

          No that's not what i want.
          I want add 4 texts and 2 texts as child.
          For example in this screenshot, Emre, 42.375, 33, 7763 values are 4 texts. That's fine, but when i add "islemci" as child, i want to be column count set to 2. Not 4. So text will be fit.

          JonBJ 1 Reply Last reply
          0
          • EmrecpE Emrecp

            No that's not what i want.
            I want add 4 texts and 2 texts as child.
            For example in this screenshot, Emre, 42.375, 33, 7763 values are 4 texts. That's fine, but when i add "islemci" as child, i want to be column count set to 2. Not 4. So text will be fit.

            JonBJ Offline
            JonBJ Offline
            JonB
            wrote on last edited by JonB
            #4

            @Emrecp
            I think you mean you want column spanning? If so I only see https://doc.qt.io/qt-5/qtreeview.html#setFirstColumnSpanned as available for QTreeWidget? And I have a feeling the "first column" there means the treeview column, not what you call the second column where the red line starts?

            You could read https://stackoverflow.com/questions/26739541/how-to-span-the-columns-of-a-qtreeview-in-c-qt. The accepted answer there seems to be saying what I suggested about sizing columns to fit, but that's not spanning or what you want, I think. Looks like others suggest that doing it via an item delegate is the only way to go?

            1 Reply Last reply
            2
            • EmrecpE Offline
              EmrecpE Offline
              Emrecp
              wrote on last edited by
              #5

              @JonB said in PyQt5 QTreeWidget Multiple Column Count:

              column spanning

              Thank you!
              I solved with this code

                          icerik_islemci = QTreeWidgetItem(["İşlemci:%s"% str(veri.CPU)]) # it was 2 strings, now 1. ( "islemci:", str(veri.CPU) )
                          self.liste.addTopLevelItem(baslik) 
                          icerik_islemci.setFirstColumnSpanned(True)
              

              But i want to ask, is it possible to span colum n 2 to 4 ? This code spanning from 1 to 4.
              Thank you :)

              1 Reply Last reply
              0
              • EmrecpE Offline
                EmrecpE Offline
                Emrecp
                wrote on last edited by
                #6

                Solved :)
                Added \t\t
                Now everything is fine
                Code:

                icerik_islemci = QTreeWidgetItem(["İşlemci:\t\t%s"% str(veri.CPU)])
                
                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