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. QTabWidget:: How to remove the blank area of QTabWidget
Qt 6.11 is out! See what's new in the release blog

QTabWidget:: How to remove the blank area of QTabWidget

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 3 Posters 1.2k 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.
  • PengPengP Offline
    PengPengP Offline
    PengPeng
    wrote on last edited by
    #1

    TabBar is hidden in the custom TabWidget, and then there are some margins that I cannot hide
    alt text
    Try setContentsMargins(0, 0, 0, 0) Does not work

    Example:

    
    #include <QApplication>
    #include <QMainWindow>
    #include <QWidget>
    #include <QHBoxLayout>
    #include <QTabBar>
    #include <QTabWidget>
    
    
    int main(int argc, char **argv)
    {
        QApplication app(argc, argv);
    
        QMainWindow mainWindow;
        mainWindow.resize(900, 900);
    
        QWidget *contentWidget = new QWidget(&mainWindow);
        QTabWidget *tabWidget = new QTabWidget(contentWidget);
    
        QWidget *myWidget = new QWidget;
    
        QPalette palette = myWidget->palette();
        myWidget->setAutoFillBackground(true);
        palette.setColor(QPalette::Window, QColor(255, 0, 255));
        myWidget->setPalette(palette);
        tabWidget->addTab(myWidget, "test");
        tabWidget->setTabPosition(QTabWidget::West);
        tabWidget->setContentsMargins(0, 0, 0, 0);
    
        tabWidget->tabBar()->setExpanding(false);
        tabWidget->tabBar()->hide();
    
        QHBoxLayout layout;
        layout.setMargin(0);
        layout.setSpacing(0);
        layout.setContentsMargins(0, 0, 0, 0);
        layout.addWidget(tabWidget, 1);
    
        contentWidget->setLayout(&layout);
        contentWidget->show();
    
        mainWindow.setCentralWidget(contentWidget);
        mainWindow.show();
    
        return app.exec();
    }
    

    I searched for answers in many places, but I did not find the desired result.

    jsulmJ 1 Reply Last reply
    0
    • PengPengP PengPeng

      TabBar is hidden in the custom TabWidget, and then there are some margins that I cannot hide
      alt text
      Try setContentsMargins(0, 0, 0, 0) Does not work

      Example:

      
      #include <QApplication>
      #include <QMainWindow>
      #include <QWidget>
      #include <QHBoxLayout>
      #include <QTabBar>
      #include <QTabWidget>
      
      
      int main(int argc, char **argv)
      {
          QApplication app(argc, argv);
      
          QMainWindow mainWindow;
          mainWindow.resize(900, 900);
      
          QWidget *contentWidget = new QWidget(&mainWindow);
          QTabWidget *tabWidget = new QTabWidget(contentWidget);
      
          QWidget *myWidget = new QWidget;
      
          QPalette palette = myWidget->palette();
          myWidget->setAutoFillBackground(true);
          palette.setColor(QPalette::Window, QColor(255, 0, 255));
          myWidget->setPalette(palette);
          tabWidget->addTab(myWidget, "test");
          tabWidget->setTabPosition(QTabWidget::West);
          tabWidget->setContentsMargins(0, 0, 0, 0);
      
          tabWidget->tabBar()->setExpanding(false);
          tabWidget->tabBar()->hide();
      
          QHBoxLayout layout;
          layout.setMargin(0);
          layout.setSpacing(0);
          layout.setContentsMargins(0, 0, 0, 0);
          layout.addWidget(tabWidget, 1);
      
          contentWidget->setLayout(&layout);
          contentWidget->show();
      
          mainWindow.setCentralWidget(contentWidget);
          mainWindow.show();
      
          return app.exec();
      }
      

      I searched for answers in many places, but I did not find the desired result.

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

      @PengPeng said in QTabWidget:: How to remove the blank area of QTabWidget:

      tabWidget

      I think you need to set content margins on mainWindow.layout()

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

      PengPengP 1 Reply Last reply
      1
      • jsulmJ jsulm

        @PengPeng said in QTabWidget:: How to remove the blank area of QTabWidget:

        tabWidget

        I think you need to set content margins on mainWindow.layout()

        PengPengP Offline
        PengPengP Offline
        PengPeng
        wrote on last edited by
        #3

        @jsulm
        Try

        mainWindow.layout()->setMargin(0);
        mainWindow.layout()->setSpacing(0);
        mainWindow.layout()->setContentsMargins(0, 0, 0, 0);
        

        This doesn't seem to work

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

          Hi
          I think it comes from the tabWidget itself.
          alt text

          mrjjM 1 Reply Last reply
          1
          • mrjjM mrjj

            Hi
            I think it comes from the tabWidget itself.
            alt text

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

            Hi
            Try with
            tabWidget->setStyleSheet( "QTabWidget::pane { border: 0px;}" );
            for me on windows that makes it go to border.

            before
            alt text

            after
            alt text

            PengPengP 1 Reply Last reply
            2
            • mrjjM mrjj

              Hi
              Try with
              tabWidget->setStyleSheet( "QTabWidget::pane { border: 0px;}" );
              for me on windows that makes it go to border.

              before
              alt text

              after
              alt text

              PengPengP Offline
              PengPengP Offline
              PengPeng
              wrote on last edited by
              #6

              @mrjj This works for me, awesome 👍

              1 Reply Last reply
              1

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved