Diverse Fragen zu QStyleSheets
Diverse Fragen zu QStyleSheets
Moinmoin.
Ich muss mich auf der Arbeit die naechste Zeit verstaerkt mit QStyleSheets auseinandersetzen. Da dort noch einige Fragen aufkommen werden habe ich den thread erstellt.
Erste Frage:
Wie komme ich an das Contextmenue ran?
Ich wuerde gerne z.B.: das Highlighting der Eintraege ueber denen sich die Maus befindet usw. veraendern. Hab in der Hilfe dazu nix gefunden. Geht das ueberhaupt mit Stylesheets?
Gruss
Patrick
Ich muss mich auf der Arbeit die naechste Zeit verstaerkt mit QStyleSheets auseinandersetzen. Da dort noch einige Fragen aufkommen werden habe ich den thread erstellt.
Erste Frage:
Wie komme ich an das Contextmenue ran?
Ich wuerde gerne z.B.: das Highlighting der Eintraege ueber denen sich die Maus befindet usw. veraendern. Hab in der Hilfe dazu nix gefunden. Geht das ueberhaupt mit Stylesheets?
Gruss
Patrick
Sorry fuer Doppelpost aber ich habe eine weitere Frage:
Wie kann ich eine Combobox per Stylesheet auf ein normales Aussehen konfigurieren (Weisses Feld, Grauer down-button, schwarzer Pfeil auf dem Button)?
Ich weiss wie ich an das Feld rankomme, ich weiss wie ich an den Button rankomme, was mir fehlt ist eine Moeglichkeit den Pfeil schwarz zu faerben, ohne, dass man ein fettes schwarzes Quadrat innerhalb des Buttons hat.
Ich weiss, dass die ComboBox standardmaessig so eingestellt ist, da ich aber mit verschiedenen Farben (abhaengig von Tageszeit) arbeite muss ich wissen wie ich die Elemente konfigurieren kann.
Wie kann ich eine Combobox per Stylesheet auf ein normales Aussehen konfigurieren (Weisses Feld, Grauer down-button, schwarzer Pfeil auf dem Button)?
Ich weiss wie ich an das Feld rankomme, ich weiss wie ich an den Button rankomme, was mir fehlt ist eine Moeglichkeit den Pfeil schwarz zu faerben, ohne, dass man ein fettes schwarzes Quadrat innerhalb des Buttons hat.
Ich weiss, dass die ComboBox standardmaessig so eingestellt ist, da ich aber mit verschiedenen Farben (abhaengig von Tageszeit) arbeite muss ich wissen wie ich die Elemente konfigurieren kann.
Ich finde in den Beispielen aber nichts zu dem PopupMenue-Problem.
Ausserdem weiss ich dadurch nach wie vor nicht, wie ich das hinbekomme, dass ich keine schwarze Box statt des Pfeils bekomme. Wenn man den Button veraendert sieht man den Pfeil nicht mehr und wenn man dann den Pfeil explizit auf schwarz setzt (mit background: black), dann hat man innerhalb des Buttons ein kleines schwarzes Quadrat.
Ausserdem weiss ich dadurch nach wie vor nicht, wie ich das hinbekomme, dass ich keine schwarze Box statt des Pfeils bekomme. Wenn man den Button veraendert sieht man den Pfeil nicht mehr und wenn man dann den Pfeil explizit auf schwarz setzt (mit background: black), dann hat man innerhalb des Buttons ein kleines schwarzes Quadrat.
Das ist aber jetzt eine Verallgemeinerung. Und ohne dem aktuell gesetzten StyleSheet kann man auch schwer sagen was du falsch/richtig machst.Paddre hat geschrieben:Ausserdem weiss ich dadurch nach wie vor nicht, wie ich das hinbekomme, dass ich keine schwarze Box statt des Pfeils bekomme. Wenn man den Button veraendert sieht man den Pfeil nicht mehr und wenn man dann den Pfeil explizit auf schwarz setzt (mit background: black), dann hat man innerhalb des Buttons ein kleines schwarzes Quadrat.
Und ein PopupMenu ist eigentlich ein QMenu, mit dem jeweiligen Widget als parent (hoffentlich...).
In der Doku findest du auch für diese Konstellation eine Möglichkeit das Menu auszuwählen (Stichwort "Selector Types").
Der Code fuer die ComboBoxen ist folgender:
Der Tipp mit dem QMenu hat mir gefehlt
Was ich noch nicht rausgefunden habe ist, wie ich es hinbekomme, dass disablete Menueeintraege nicht gehighlightet werden wenn die Maus drueber faehrt
Der Code:
Code: Alles auswählen
QComboBox
{
background: white;
}
QComboBox::drop-down
{
background: palette(button);
}
QComboBox::down-arrow
{
//tja was nun? "background: black;" erzeugt einen schwarzen Kasten
}Der Code:
Werd mich damit ansonsten morgen frueh nochmal befassen. Fuer Tipps bin ich in der Zwischenzeit trotzdem dankbar ^^QMenu::item:selected:disabled
{
background: none;
}
Das mit den deaktivierten Items habe ich hinbekommen.
Aber mit der ComboBox komme ich nicht wirklich voran. Bzw. gar nicht!
Ein Aehnliches problem zeigt sich auch bei der Konfiguration von Checkboxes und RadioButtons. Also entweder habe ich da eine bestimmte Sache noch nicht verstanden, ode rew ist nicht moeglich die 3 Elemente so zu gestalten wie ich es moechte (denke eher ersteres ^^)
Das ist nun mein Code (die Farbe #FFF123 ist nur ein Platzhalter fuer eine bestimmte andere Farbe):
Was passiert ist, dass man bei Radiobuttons ein gelbes Quadrat statt eines gelben Kreises hat. Bei den Radiobuttons und bei den Checkboxen kann man ausserdem nicht mehr den Haken bxw den Punkt sehen. Der Stylesheet scheint sich ueber die Elemente zu legen.
Habt ihr eine Idee?
Aber mit der ComboBox komme ich nicht wirklich voran. Bzw. gar nicht!
Ein Aehnliches problem zeigt sich auch bei der Konfiguration von Checkboxes und RadioButtons. Also entweder habe ich da eine bestimmte Sache noch nicht verstanden, ode rew ist nicht moeglich die 3 Elemente so zu gestalten wie ich es moechte (denke eher ersteres ^^)
Das ist nun mein Code (die Farbe #FFF123 ist nur ein Platzhalter fuer eine bestimmte andere Farbe):
Code: Alles auswählen
QCheckBox::indicator
{
background: #FFF123;
}
QRadioButton::indicator
{
background: #FFF123;
}
QComboBox
{
background: #FFF123;
}
QComboBox::drop-down
{
background: palette(button);
}
QMenu::item:selected:disabled
{
background: palette(button);
}
QMenu::item:selected
{
background: none;
}
Habt ihr eine Idee?
Zuletzt geändert von Paddre am 23. April 2010 11:12, insgesamt 1-mal geändert.
-
Oliver Hom
- Beiträge: 33
- Registriert: 27. Mai 2009 12:44
In dem StyleSheet Beispielen ist doch alles erklärt.
Den Buttonpfeil kann man doch per
verändern.
Die Radio und Checkboxen kann man mit dem Beispiel auch super verändern.
http://doc.qt.nokia.com/4.6/stylesheet- ... -qcheckbox
http://doc.qt.nokia.com/4.6/stylesheet- ... adiobutton
Gruß,
Oliver
Den Buttonpfeil kann man doch per
Code: Alles auswählen
QComboBox::down-arrow {
image: url(/usr/share/icons/crystalsvg/16x16/actions/1downarrow.png);
}
Die Radio und Checkboxen kann man mit dem Beispiel auch super verändern.
http://doc.qt.nokia.com/4.6/stylesheet- ... -qcheckbox
http://doc.qt.nokia.com/4.6/stylesheet- ... adiobutton
Gruß,
Oliver
An sich richtig...wenn der pfeil auch dort drin liegen wuerde ...
Der Ordner /usr/share/icons/crystalsvg/16x16/actions/ ist leer, genauso wie alle anderen Ordner in /usr/share/icons/crystalsvg/16x16/ usw.
Ich braeuchte schon den original Pfeil, den ich dann einfach in verschiedenen Farben abspeicher und lade.
Wisst ihr wo der liegt? Komm ich da ueberhaupt so einfach ran? Ich benutze Suse 11.2 mit Kde 4.3.1
Edit: Habe Dateien im Ordner /usr/share/icons/DMZ/cursors gefunden. Aber ich kann mir die alle nicht anschauen. Mit welchem Linux Programm ginge das? nicht mal Gimp kann die files oeffnen
Naechste Frage:
Wenn ein Eintrag in einem QMenu disabled ist hat der Text einen leichten Schatten. Kann ich den irgendwie deaktivieren?
Der Ordner /usr/share/icons/crystalsvg/16x16/actions/ ist leer, genauso wie alle anderen Ordner in /usr/share/icons/crystalsvg/16x16/ usw.
Ich braeuchte schon den original Pfeil, den ich dann einfach in verschiedenen Farben abspeicher und lade.
Wisst ihr wo der liegt? Komm ich da ueberhaupt so einfach ran? Ich benutze Suse 11.2 mit Kde 4.3.1
Edit: Habe Dateien im Ordner /usr/share/icons/DMZ/cursors gefunden. Aber ich kann mir die alle nicht anschauen. Mit welchem Linux Programm ginge das? nicht mal Gimp kann die files oeffnen
Naechste Frage:
Wenn ein Eintrag in einem QMenu disabled ist hat der Text einen leichten Schatten. Kann ich den irgendwie deaktivieren?