2016-07-14 20 views
0

Как я могу создать стиль QTabWidget, как на изображении ниже.Пользовательский QTabWidget со списком стилей

enter image description here

Проблема заключается в том: если я устанавливаю таблица стилей

QTabWidget:pane { 
border: 1px solid gray; 
} 

, то это выглядит следующим образом:

[qt can do][2].

+1

Не так ли, как вы ожидали? (2 изображения одинаковы) – ABCplus

+1

Не то же самое. На втором выбранном изображении вкладка имеет нежелательную нижнюю границу. –

+0

Проверьте это: http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar. Похоже, вам нужно стилизовать 'QTabBar'. – hyde

ответ

0

перепроведении мой комментарий. Вот решение.

Хорошо. Спасибо, что дал мне правильное направление. Вот приблизительная таблица стилей. Ключевым моментом является QTabWidget :: pane {top: -1px; }. Он перемещает панель вверх (и ее верхняя граница), поэтому она не мешает, а QTabBar :: tab: selected {margin-bottom: -1px; }, а также - он скрывает появляющиеся нижние и нижние границы панели таблеток.

QTabWidget::pane { 
    border: 1px solid lightgray; 
    top:-1px; 
    background: rgb(245, 245, 245);; 
} 

QTabBar::tab { 
    background: rgb(230, 230, 230); 
    border: 1px solid lightgray; 
    padding: 15px; 
} 

QTabBar::tab:selected { 
    background: rgb(245, 245, 245); 
    margin-bottom: -1px; 
} 
0

Стилизация TabWidget:

QTabWidget::tab-bar { 
    border: 1px solid gray; 
} 
Вкладка

Styling:

QTabBar::tab { 
    background: gray; 
    color: white; 
    padding: 10px; 
} 

QTabBar::tab:selected { 
    background: lightgray; 
} 

Стайлинг Группа:

QTabWidget::pane { 
    border: none; 
} 

Пример:

enter image description here

+0

Но это все равно не спасет нас от нижней строки выбранного TabBar. Эта строка находится с верхней границы панели. –

+0

См. Изменения, которые я сделал. Отключить границу и настроить виджет, который будет находиться внутри любой вкладки. Пользователь: QTabWidget :: pane { border: none; } – mohabouje

+0

Я тоже пробовал этот вариант. Тем не менее, мне нужна вся рамка панели, кроме выделенной Tabbar. Спасибо, но я нашел решение. Я не знал, куда отправлять, поэтому я разместил его как комментарий к первому сообщению, как рекомендовано справкой, поэтому, возможно, это плохо видно. –