Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to insert a space between two tabs in a QTabWidget?

I'd like to insert a space to separate the second tab from the third. Is this possible? I've tried some stylesheets but as this widget is kind of new to me I've had no success so far.

like image 842
SamuelNLP Avatar asked Feb 03 '13 19:02

SamuelNLP


2 Answers

Yes, it's possible, but not so obvious. Here's one way I came up with some time ago.

Whenever you need a space between two tabs, insert a new tab between the tabs and make the new tab disabled by calling QTabWidget::setTabEnabled(int index, bool enable). This way the new tab will no longer be possible to interact with (unless the tab is the only one present). You will also need to set the following style sheet on your QTabWidget:

 QTabBar::tab:disabled {
    width: 100px;
    color: transparent;
    background: transparent;
 }

This style sheet makes the new tab invisible (actually it makes all disabled tabs invisible, so unless that's OK, this method will not work for you). You may adjust the width of the space by changing the value for width in the style sheet.

The result:

QTabWidget with space between tabs

like image 56
Daniel Hedberg Avatar answered Nov 16 '22 07:11

Daniel Hedberg


If you don't want to create an invisible tab as in the accepted answer, here's a way to do it using only style sheets. Similarly, adjust the pixel amount for more or less spacing between tabs.

QTabBar::tab {
    margin-left:2px;
    margin-right:2px;
}

enter image description here

QTabBar::tab {
    margin-left:40px;
    margin-right:40px;
}

enter image description here

like image 3
nathancy Avatar answered Nov 16 '22 08:11

nathancy