QSlider Stylsheet

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Tyll
User
Beiträge: 21
Registriert: Dienstag 6. August 2013, 12:52

Ich bin gerade dabei einen QSlider vom Aussehen anzupassen.
Dazu passe ich die Stylesheet-Einstellungen an. Nun möchte ich die Rille des Sliders ändern, aber ich kann die dafür entsprechende Bezeichnung nicht finden mit welcher die Rille angepasst werden kann.
Benutzeravatar
Madmartigan
User
Beiträge: 200
Registriert: Donnerstag 18. Juli 2013, 07:59
Wohnort: Berlin

Was genau meinst du denn mit "Rille" ?

Hier findest du die offiziellen QStyleSheet Beispiele für QSlider:
https://qt-project.org/doc/qt-4.7/style ... 3784888b07
Tyll
User
Beiträge: 21
Registriert: Dienstag 6. August 2013, 12:52

Ich hab jetzt herausgefunden wie das Objekt heißt das ich meine, es ist der groove: (groove = Englisch für Rille. Ich muss unbedingt mein Englisch verbessern -.-).

Leider verschwindet wenn ich groove: anpasse auch der "Knopf zum Verschieben" (handle). Nun kann ich diesen anpassen sodass ich den handle wieder sehen und verwenden kann. Aber es wäre besser wenn ich den Originalen handle wieder verwenden könnte, da dieser sonst nicht zu den anderen in der GUI verwendeten Slidern passt. Gibt es die Möglichkeit diesen wieder zu verwenden ?

Mein bisheriger Code des Stylesheets:

self.__slider.setStyleSheet("QSlider::groove:horizontal {border: 0px solid rgba( 0, 0, 0, 0% );} QSlider::handle:horizontal{border: 1px solid #777; background-color: rgba( 0, 0, 0, 100%);}")
Benutzeravatar
Madmartigan
User
Beiträge: 200
Registriert: Donnerstag 18. Juli 2013, 07:59
Wohnort: Berlin

Soweit ich weiß funktioniert das nicht. Wenn das Groove Objekt einen nutzer-definierten Stylesheet bekommt, ändert sich automatisch der Style des Handles mit. Du musst für diesen dann die Attribute explizit beschreiben. Also nur den Groove transparent machen und den Original-Style für das Handle zu behalten wird nicht funktionieren.

Warum willst du den Groove/die "Rille" denn nicht anzeigen?
Tyll
User
Beiträge: 21
Registriert: Dienstag 6. August 2013, 12:52

Also ich bin ein Modul am schreiben mit dem man den Zoom-Faktors anzeigen und Steuern kann. Die Hauptaufgabe wird die Anzeige sein.
In dem Modul soll man den tatsächlichen Zoom-Faktors der Kamera und den angestrebten/eingestellten Zoom-Faktors ablesen können.
Außerdem soll der Zoom-Faktors eingestellt werden können.

Dazu hatte ich mir überlegt, eine Prozessbar zur Anzeige des tatsächlichen Zoom-Faktors zu verwenden.
Über diese einen Slider zu legen mit welchem ich den angestrebten/eingestellten Zoom-Faktor anzeigen und umstellen kann.
In diesem Szenario benötige ich den groove des Sliders nicht, da ich bereits den Groove der Prozessbar dazu verwende.

Ich brauche quasi einen Knopf der auf einer Leiste einen Wertebereich hat und auf einer Achse verschiebbar ist, da war der Slider am naheliegenden.
Antworten