Wie kann ich ein Qt-widget ignorieren Stylesheets setzen auf die Eltern-widgets?
Beim hinzufügen einer QComboBox Kontrolle im Qt Designer, bekomme ich eine schreckliche sucht, die nicht-native Kontrolle:
Auf dem Graben weiter, es stellt sich heraus, dass zwei der übergeordneten Steuerelemente, QParentWindow und QStackedWidget, style-sheets, die QComboBox erbt. Wenn ich löschen Sie die benutzerdefinierten Formatvorlagen, dann bekomme ich eine native QComboBox wie das auf der linken Seite.
Wie kann ich QComboBox (und widgets in der Regel) NICHT Erben übergeordneten Stilen? Oder, wie kann ich einen Stil erstellen, sagen, QParentWindow, und tun es, so dass es nur lokal und nicht Kaskade?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie können verhindern, dass es von cascading. Aber durch die Verwendung spezifischer Selektoren in Ihrem stylesheet, könnte man vielleicht definieren Sie die Eigenschaften nur für Ihre QParentWindow Klasse oder ein bestimmtes Objekt.
müssen Sie einen Stil definieren, und weisen Sie das Objekt:
hier "groupBoxSettings" ist der name des Objekts. Auf diese Weise, was innerhalb der groupbox, Sie haben Ihren eigenen Stil.
QGroupBox
aus, solange der Objekt-Namen (Satz vonsetObjectName
) sind einzigartig. Vor allem, wenn dort stehen würdeQWidget#...
es wäre ziemlich nutzlos, da die meisten/jedes widget ist abgeleitet vonQWidget
.