2016-08-04 2 views
1

я сделал ниже стайлинга на QTabWidget (который имеет QTabWidget внутри одного из его вкладки):Как остановить ребенка QTabWidget наследовать таблицу стилей от родительского QTabWidget

QTabBar::tab { 
    border: 2px solid grey; 
} 
QTabBar::tab:selected { 
    border-color: red; 
} 

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

enter image description here

Я не хочу ребенка QTabWidget наследовать стиль от родителей. Я знаю, что один из способов добиться этого - использовать имя объекта в таблице стилей, но у меня нет имени объекта QTabBar, связанного с QTabWidget. Пожалуйста, дайте мне знать, как я могу добиться желаемого поведения.

ответ

1

Вы можете использовать имя объекта на QTabWidget:

parent_tab_widget->setObjectName("parent_tab_widget"); 

В таблице стилей:

#parent_tab_widget > QTabBar::tab { 
    border: 2px solid grey; 
} 
#parent_tab_widget > QTabBar::tab:selected { 
    border-color: red; 
} 

Более подробную информацию о селекторов таблиц стилей в Qt4 here. Ответ представляет собой комбинацию селектора идентификаторов с дочерним селектором.

+0

Большое спасибо, это сработало. Если возможно, вы можете предоставить мне ссылку на эту концепцию имени родительского объекта. – Sajal

+0

@Sajal Я отредактировал свой ответ со ссылкой на документацию Qt по селекторам – wasthishelpful

+0

Еще раз спасибо :) – Sajal

Смежные вопросы