2016-08-04 6 views
1

ich unten Styling auf QTabWidget getan haben (das ist ein QTabWidget innerhalb eines seiner Tab hat):Wie Kind QTabWidget zu stoppen Stylesheet von den Eltern zu erben QTabWidget

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

Danach wird das Tab-Widget wie folgt aussieht:

enter image description here

ich will nicht Kind QTabWidget Stil von den Eltern erben. Ich kenne einen Weg, dies zu erreichen, indem ich den Objektnamen im Stylesheet verwende, aber ich habe nicht den Objektnamen QTabBar mit QTabWidget assoziiert. Bitte lassen Sie mich wissen, wie ich das gewünschte Verhalten erreichen kann.

Antwort

1

Sie können Objektnamen auf dem QTabWidget verwenden:

parent_tab_widget->setObjectName("parent_tab_widget"); 

In Stylesheet:

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

Weitere Informationen über Stylesheet-Selektoren in Qt4 here. Die Antwort ist eine Kombination des ID-Selektors mit dem Kindselektor.

+0

Vielen Dank, das hat funktioniert. Wenn möglich, könnten Sie mir eine Referenz für dieses Konzept des übergeordneten Objektnamens geben. – Sajal

+0

@Sajal Ich habe meine Antwort mit einem Link zu Qt's Dokumentation über Selektoren bearbeitet – wasthishelpful

+0

Noch einmal vielen Dank :) – Sajal

Verwandte Themen