QMessageBox -> Stylesheets

Verschiedenes zu Qt
Antworten
vii2us
Beiträge: 13
Registriert: 7. Mai 2009 10:25

QMessageBox -> Stylesheets

Beitrag von vii2us »

hallo,
ich möchte die Buttons in einer Standart-Messagebox unterschiedlich designen. Dafür habe ich folgendes probiert:

QPushButton#Yes {
....
}

QPushButton#No {
...
}

leider Funktioniert das ganze nicht. Könnte mir jemand sagen wie man das machen kann? QPushButton {..} geht, aber möchte ja jeden Button anderst gestalten.

vielen Dank schonmal!
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

Beitrag von Mani99 »

Du musst von dem button den object name "Yes" benennen, dann funktioniert dein code!

Code: Alles auswählen

QPushButton *btn = new QPushButton(this);
btn->setObjectName("Yes");

QPushButton#Yes {
....
}
Das beispiel ist nur allgemeiner code, also nicht speziell für die buttons einer messagebox. Die buttons musst du dir irgendwie organisieren und dann den object name setzen.

Lies dir in der doku den teil zu stylesheets durch, dann wird dir klar wie das funktioniert.
vii2us
Beiträge: 13
Registriert: 7. Mai 2009 10:25

Beitrag von vii2us »

aber über die StandartButtons

QMessageBox msgBox(this);
msgBox.setStandardButtons(QMessageBox::Yes |QMessageBox::No);

geht es nicht oder?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Ach komm, schau doch mal in die Doku :(
QMessageBox hat schöne Methoden, die man sich mal anschauen sollte.

Du kannst a) selber nen Button hinzufügen, und den objectName setzen.
Aber auch b) ganz einfach die hier verwenden:
QAbstractButton * button ( StandardButton which ) const
Dann noch den objectName() abfragen und ab ins StyleSheet damit.
Antworten