Hallo Forum,
ich hoffe ich kann mein Problem beschreiben:
Mit dem QtCreator habe ich mir eine Oberfläche zusammengeklickt, unter
anderen werden QPushButtons in Verbindung mit Stylesheets verwendet.
1 | #btn_database{
|
2 | background-color:transparent;
|
3 | border-image: url(./ui/btn_off.png);
|
4 |
|
5 | }
|
6 | #btn_database:checked{
|
7 | border-image: url(./ui/btn_on.png);
|
8 | }
|
Starte ich nun das Skript, dann sehe ich auch btn_off.png auf meiner
Oberfläche, beim Betätigen wird im Skript mittels setChecked( True )
"umgeschaltet" und ich sehe btn_on.png. Soweit alles prima.
Nun bin ich einen Schritt weiter gegangen und habe eine Textdatei
geparst und je nach Inhalt dieser Datei setChecked() mit True oder False
aufgerufen. Auch hier klappt alles wie erwartet. Das Parsen der Datei
wurde über einen weiteren QPushButton ausgelöst.
Jetzt zum Problem: Ich habe eine QMenuBar eingefügt und mittels QAction
verschiedene Einträge in der MenuBar platziert. Wähle ich einen Eintrag
aus, dann wird die oben genannte Textdatei aufgerufen und geparst und
anhand dessen wird wieder setChecked aufgerufen. Jetzt habe ich das
Problem, wenn False übergeben wird, dann wird btn_off.png gezeichnet,
bei True kommt kein Bild mehr. Selbst wenn ich den Button klicke, dann
wird nur btn_off.png gezeichnet. btn_on.png scheint unsichtbar zu sein,
obwol der QPushButton checked ist, wurde mittels Funktion isChecked()
überprüft. Weiterhin ist interessant, wenn ich zuerst den Button 2 mal
drücke und dann über die MenuBar die Aktion aufrufen, dann wird das Bild
richtig gezeichnet, egal ob setChecked() True oder False aufgerufen
wurde.
Kann einer das Problem nachvollziehen?
Danek im Voraus!
Gruß Michael