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. Why is there a space in QTreeWidget?
Forum Updated to NodeBB v4.3 + New Features

Why is there a space in QTreeWidget?

Scheduled Pinned Locked Moved Solved General and Desktop
20 Posts 4 Posters 5.1k Views 2 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.
  • M MasterBlade

    Hello I have a QTreeWidget. But when I add items to it, there are always spaces before the 1st column and after the last column.

    Is there a way to remove them?
    0_1525506193278_1.PNG
    1_1525506193279_2.PNG

    Taz742T Offline
    Taz742T Offline
    Taz742
    wrote on last edited by
    #2

    @MasterBlade
    Can you post how to populate treeWidget ?

    Do what you want.

    M 1 Reply Last reply
    0
    • Taz742T Taz742

      @MasterBlade
      Can you post how to populate treeWidget ?

      M Offline
      M Offline
      MasterBlade
      wrote on last edited by
      #3

      @Taz742 said in Why is there a space in QTreeWidget?:

      @MasterBlade
      Can you post how to populate treeWidget ?

      void Deck::AMD(int row)
      {
          QList<QTreeWidgetItem*> s = ui->DeckList->findItems(ui->CardList->item(row, 0)->text(),
                                                              Qt::MatchFlag::MatchExactly, 1);
          if (s.isEmpty()){
              QTreeWidgetItem *twi = new QTreeWidgetItem(ui->DeckList);
              twi->setText(0, "1");
              twi->setText(1, ui->CardList->item(row, 0)->text());
              twi->setText(2, ui->CardList->item(row, 1)->text());
              twi->setTextAlignment(0, Qt::AlignCenter);
              twi->setTextAlignment(1, Qt::AlignCenter);
              twi->setTextAlignment(2, Qt::AlignCenter);
          }
          else{
              uint8_t no = s.constFirst()->text(0).toUInt();
              s.constFirst()->setText(0, QString::number(no + 1));
          }
          ui->DeckList->sortByColumn(1, Qt::AscendingOrder);
      }
      
      1 Reply Last reply
      0
      • mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by mrjj
        #4

        Hi
        You set the text to be center aligned
        twi->setTextAlignment(0, Qt::AlignCenter);
        so there will be spaces :)
        Try with AlignLeft and see.

        M 1 Reply Last reply
        3
        • mrjjM mrjj

          Hi
          You set the text to be center aligned
          twi->setTextAlignment(0, Qt::AlignCenter);
          so there will be spaces :)
          Try with AlignLeft and see.

          M Offline
          M Offline
          MasterBlade
          wrote on last edited by
          #5

          @mrjj said in Why is there a space in QTreeWidget?:

          Hi
          You set the text to be center aligned
          twi->setTextAlignment(0, Qt::AlignCenter);
          so there will be spaces :)
          Try with AlignLeft and see.

          No way. I aligned to the left but still got space.
          And there are also spaces at the end of the row.
          0_1525507777399_1.PNG

          Taz742T 1 Reply Last reply
          0
          • M MasterBlade

            @mrjj said in Why is there a space in QTreeWidget?:

            Hi
            You set the text to be center aligned
            twi->setTextAlignment(0, Qt::AlignCenter);
            so there will be spaces :)
            Try with AlignLeft and see.

            No way. I aligned to the left but still got space.
            And there are also spaces at the end of the row.
            0_1525507777399_1.PNG

            Taz742T Offline
            Taz742T Offline
            Taz742
            wrote on last edited by
            #6

            @MasterBlade
            Post code again.

            Do what you want.

            M 1 Reply Last reply
            1
            • Taz742T Taz742

              @MasterBlade
              Post code again.

              M Offline
              M Offline
              MasterBlade
              wrote on last edited by
              #7

              @Taz742 said in Why is there a space in QTreeWidget?:

              @MasterBlade
              Post code again.

              The codes are the same except that I removed the following line.
              twi->setTextAlignment(0, Qt::AlignCenter);

              Taz742T 1 Reply Last reply
              0
              • M MasterBlade

                @Taz742 said in Why is there a space in QTreeWidget?:

                @MasterBlade
                Post code again.

                The codes are the same except that I removed the following line.
                twi->setTextAlignment(0, Qt::AlignCenter);

                Taz742T Offline
                Taz742T Offline
                Taz742
                wrote on last edited by Taz742
                #8

                @MasterBlade said in Why is there a space in QTreeWidget?:

                    twi->setTextAlignment(0, Qt::AlignCenter);
                    twi->setTextAlignment(1, Qt::AlignCenter);
                    twi->setTextAlignment(2, Qt::AlignCenter);
                }
                

                did you try this?

                twi->setTextAlignment(0, Qt::AlignLeft);
                twi->setTextAlignment(1, Qt::AlignLeft);
                twi->setTextAlignment(2, Qt::AlignLeft);
                

                Do what you want.

                1 Reply Last reply
                1
                • M MasterBlade

                  Hello I have a QTreeWidget. But when I add items to it, there are always spaces before the 1st column and after the last column.

                  Is there a way to remove them?
                  0_1525506193278_1.PNG
                  1_1525506193279_2.PNG

                  DiracsbracketD Offline
                  DiracsbracketD Offline
                  Diracsbracket
                  wrote on last edited by Diracsbracket
                  #9

                  @MasterBlade said in Why is there a space in QTreeWidget?:

                  there are always spaces before the 1st column

                  Try:

                  ui->treeWidget->setRootIsDecorated(false); //is true by default, resulting in the space. This space is for a root-decoration image
                  

                  @MasterBlade said in Why is there a space in QTreeWidget?:

                  and after the last column

                  Try:

                  ui->treeWidget->header()->setStretchLastSection(true);
                  
                  M DiracsbracketD 3 Replies Last reply
                  2
                  • M MasterBlade

                    Hello I have a QTreeWidget. But when I add items to it, there are always spaces before the 1st column and after the last column.

                    Is there a way to remove them?
                    0_1525506193278_1.PNG
                    1_1525506193279_2.PNG

                    DiracsbracketD Offline
                    DiracsbracketD Offline
                    Diracsbracket
                    wrote on last edited by
                    #10
                    This post is deleted!
                    1 Reply Last reply
                    1
                    • DiracsbracketD Diracsbracket

                      @MasterBlade said in Why is there a space in QTreeWidget?:

                      there are always spaces before the 1st column

                      Try:

                      ui->treeWidget->setRootIsDecorated(false); //is true by default, resulting in the space. This space is for a root-decoration image
                      

                      @MasterBlade said in Why is there a space in QTreeWidget?:

                      and after the last column

                      Try:

                      ui->treeWidget->header()->setStretchLastSection(true);
                      
                      M Offline
                      M Offline
                      MasterBlade
                      wrote on last edited by
                      #11

                      @Diracsbracket said in Why is there a space in QTreeWidget?:

                      setRootIsDecorated(false);

                      This Worked!! Many Thanks!!

                      However I'm still having spaces at the end of the row.

                      Every time I run this function, the space grows bigger. Is there a way to fix this?
                      0_1525509109468_1.PNG

                      1 Reply Last reply
                      0
                      • DiracsbracketD Diracsbracket

                        @MasterBlade said in Why is there a space in QTreeWidget?:

                        there are always spaces before the 1st column

                        Try:

                        ui->treeWidget->setRootIsDecorated(false); //is true by default, resulting in the space. This space is for a root-decoration image
                        

                        @MasterBlade said in Why is there a space in QTreeWidget?:

                        and after the last column

                        Try:

                        ui->treeWidget->header()->setStretchLastSection(true);
                        
                        M Offline
                        M Offline
                        MasterBlade
                        wrote on last edited by
                        #12

                        @Diracsbracket said in Why is there a space in QTreeWidget?:

                        @MasterBlade said in Why is there a space in QTreeWidget?:

                        and after the last column

                        Try:

                        ui->treeWidget->header()->setStretchLastSection(true);
                        

                        Actually I already set this in Form View.
                        0_1525509231624_2.PNG

                        1 Reply Last reply
                        0
                        • DiracsbracketD Diracsbracket

                          @MasterBlade said in Why is there a space in QTreeWidget?:

                          there are always spaces before the 1st column

                          Try:

                          ui->treeWidget->setRootIsDecorated(false); //is true by default, resulting in the space. This space is for a root-decoration image
                          

                          @MasterBlade said in Why is there a space in QTreeWidget?:

                          and after the last column

                          Try:

                          ui->treeWidget->header()->setStretchLastSection(true);
                          
                          DiracsbracketD Offline
                          DiracsbracketD Offline
                          Diracsbracket
                          wrote on last edited by Diracsbracket
                          #13

                          @Diracsbracket said in Why is there a space in QTreeWidget?:

                          ui->treeWidget->header()->setStretchLastSection(true);

                          Sorry, this is true by default, so wouldn't help in your case.

                          @MasterBlade said in Why is there a space in QTreeWidget?:

                          However I'm still having spaces at the end of the row.

                          What value is returned by

                          qDebug()  << ui->treeWidget->columnCount() ;
                          

                          Somehow, it seems there is an extra empty column in your QTreeWidget ?

                          M 1 Reply Last reply
                          0
                          • DiracsbracketD Diracsbracket

                            @Diracsbracket said in Why is there a space in QTreeWidget?:

                            ui->treeWidget->header()->setStretchLastSection(true);

                            Sorry, this is true by default, so wouldn't help in your case.

                            @MasterBlade said in Why is there a space in QTreeWidget?:

                            However I'm still having spaces at the end of the row.

                            What value is returned by

                            qDebug()  << ui->treeWidget->columnCount() ;
                            

                            Somehow, it seems there is an extra empty column in your QTreeWidget ?

                            M Offline
                            M Offline
                            MasterBlade
                            wrote on last edited by
                            #14

                            @Diracsbracket said in Why is there a space in QTreeWidget?:

                            @Diracsbracket said in Why is there a space in QTreeWidget?:

                            ui->treeWidget->header()->setStretchLastSection(true);

                            Sorry, this is true by default, so wouldn't help in your case.

                            @MasterBlade said in Why is there a space in QTreeWidget?:

                            However I'm still having spaces at the end of the row.

                            What value is returned by

                            qDebug()  << ui->treeWidget->columnCount() ;
                            

                            Somehow, it seems there is an extra empty column in your QTreeWidget ?

                            I'm sorry but I'm having problem with the debugging. It won't pass.

                            ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'
                            qDebug() << ui->DeckList->columnCount() ;
                            ^

                            Also I added the following. The space is not growing as the function is called. But there is still a space at the end.

                            ui->DeckList->header()->setStretchLastSection(true);
                            
                            DiracsbracketD 1 Reply Last reply
                            0
                            • M MasterBlade

                              @Diracsbracket said in Why is there a space in QTreeWidget?:

                              @Diracsbracket said in Why is there a space in QTreeWidget?:

                              ui->treeWidget->header()->setStretchLastSection(true);

                              Sorry, this is true by default, so wouldn't help in your case.

                              @MasterBlade said in Why is there a space in QTreeWidget?:

                              However I'm still having spaces at the end of the row.

                              What value is returned by

                              qDebug()  << ui->treeWidget->columnCount() ;
                              

                              Somehow, it seems there is an extra empty column in your QTreeWidget ?

                              I'm sorry but I'm having problem with the debugging. It won't pass.

                              ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'
                              qDebug() << ui->DeckList->columnCount() ;
                              ^

                              Also I added the following. The space is not growing as the function is called. But there is still a space at the end.

                              ui->DeckList->header()->setStretchLastSection(true);
                              
                              DiracsbracketD Offline
                              DiracsbracketD Offline
                              Diracsbracket
                              wrote on last edited by Diracsbracket
                              #15

                              @MasterBlade said in Why is there a space in QTreeWidget?:

                              ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                              You must include <QDebug> to use qDebug().

                              If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                              M 2 Replies Last reply
                              1
                              • DiracsbracketD Diracsbracket

                                @MasterBlade said in Why is there a space in QTreeWidget?:

                                ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                You must include <QDebug> to use qDebug().

                                If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                M Offline
                                M Offline
                                MasterBlade
                                wrote on last edited by
                                #16

                                @Diracsbracket said in Why is there a space in QTreeWidget?:

                                @MasterBlade said in Why is there a space in QTreeWidget?:

                                ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                You must include <QDebug> to use qDebug().

                                If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                The return value is 3.
                                I'm using Qt Creator 4.6.1. Based on Qt 5.10.1 (MSVC 2015,32 bit) on Windows 10 x64

                                1 Reply Last reply
                                0
                                • DiracsbracketD Diracsbracket

                                  @MasterBlade said in Why is there a space in QTreeWidget?:

                                  ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                  You must include <QDebug> to use qDebug().

                                  If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                  M Offline
                                  M Offline
                                  MasterBlade
                                  wrote on last edited by
                                  #17

                                  @Diracsbracket said in Why is there a space in QTreeWidget?:

                                  @MasterBlade said in Why is there a space in QTreeWidget?:

                                  ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                  You must include <QDebug> to use qDebug().

                                  If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                  Oh I found the problem. It's on the sorting function.
                                  When I comment this line, everything turns out just fine.
                                  ui->DeckList->sortByColumn(1, Qt::AscendingOrder);

                                  DiracsbracketD 2 Replies Last reply
                                  0
                                  • M MasterBlade

                                    @Diracsbracket said in Why is there a space in QTreeWidget?:

                                    @MasterBlade said in Why is there a space in QTreeWidget?:

                                    ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                    You must include <QDebug> to use qDebug().

                                    If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                    Oh I found the problem. It's on the sorting function.
                                    When I comment this line, everything turns out just fine.
                                    ui->DeckList->sortByColumn(1, Qt::AscendingOrder);

                                    DiracsbracketD Offline
                                    DiracsbracketD Offline
                                    Diracsbracket
                                    wrote on last edited by Diracsbracket
                                    #18

                                    @MasterBlade said in Why is there a space in QTreeWidget?:

                                    When I comment this line, everything turns out just fine.

                                    Which in itself is weird... sorting should not affect the layout of the treeWidget in that way.

                                    1 Reply Last reply
                                    0
                                    • M MasterBlade

                                      @Diracsbracket said in Why is there a space in QTreeWidget?:

                                      @MasterBlade said in Why is there a space in QTreeWidget?:

                                      ..\MasterZMDJ\deck.cpp:305:12: error: invalid use of incomplete type 'class QDebug'

                                      You must include <QDebug> to use qDebug().

                                      If the column count is as expected, then it may be Qt bug. Which Qt version are you using? On which platform?

                                      Oh I found the problem. It's on the sorting function.
                                      When I comment this line, everything turns out just fine.
                                      ui->DeckList->sortByColumn(1, Qt::AscendingOrder);

                                      DiracsbracketD Offline
                                      DiracsbracketD Offline
                                      Diracsbracket
                                      wrote on last edited by
                                      #19

                                      @MasterBlade said in Why is there a space in QTreeWidget?:

                                      Oh I found the problem.

                                      Could you put the question as solved then? Cheers!~

                                      M 1 Reply Last reply
                                      1
                                      • DiracsbracketD Diracsbracket

                                        @MasterBlade said in Why is there a space in QTreeWidget?:

                                        Oh I found the problem.

                                        Could you put the question as solved then? Cheers!~

                                        M Offline
                                        M Offline
                                        MasterBlade
                                        wrote on last edited by
                                        #20

                                        @Diracsbracket said in Why is there a space in QTreeWidget?:

                                        @MasterBlade said in Why is there a space in QTreeWidget?:

                                        Oh I found the problem.

                                        Could you put the question as solved then? Cheers!~

                                        Sure, thanks for the help!

                                        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