Qt Stylesheet syntax: Ausrichtung auf eine bestimmte Taste, nicht ALLE Tasten
Ich habe ein Fenster mit zwei Schaltflächen.
Ich würde gerne schmücken jeweils mit einer anderen stylesheet. Sie beide haben unterschiedliche Objekt-Namen, natürlich, aber es scheint, dass nur die generische QPushButton
stylesheet-Selektor funktioniert.
Habe ich versucht:
QPushButton#myBtnObjectName1 {
/* style definitions */
}
QPushButton#myBtnObjectName2 {
/* style definitions */
}
Versucht, das gleiche mit dem Austausch der #
mit einem .
oder die #myBtnObjetNameX
nur. Nichts funktioniert. Nur:
QPushButton {
/* style definitions */
}
Bin ich über eine falsche syntax? Oder ist dies einfach unmöglich, ohne die sich aus QPushButton
im code, und verwenden Sie eine separate Klasse, Namen für jeden?
- Muss ich haben, das Objekt zu definieren Namen irgendwo anders als der "ObjectName" im QT-Designer?
- es ist wichtig, wie und wo genau Sie sich bewerben stylesheet?
- während der Bauphase: QFile Datei(stylesheetURL); Datei.open(QFile::ReadOnly); QString styleSheet = QLatin1String ("Datei.readAll()); setStyleSheet(styleSheet);
- auf einige widget(welche?), oder Breite Anwendung(QApplication)?
- auf ein Fenster (ein QWidget)
- #Objektname scheint zu funktionieren fin in Qt 5.8.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie "accessibleName" im Qt Designer für diese.
Und im qss-stylesheet:
mehr universal:
oder genauer:
Ach ja, die "AccessibleName" im Qt Designer festgelegt werden muss auch, nicht nur "ObjectName"
Entsprechen Instanzen, die mit der
objectName
können Sie auch den Wahlschalter^=
. Nach der standard:Beispiel in Qt:
Einen
QPushButton
genanntpushButton
übereinstimmen würde, aber nicht ein Objekt namenspbt
.