Seite 1 von 1
Deaktivierter Button Textur entfernen
Verfasst: Montag 1. Dezember 2014, 18:37
von Duardo
Wenn ich in Python einen button mit
deaktiviere, legt sich so eine arte "Netztextur" darüber, kann ich diese entfernen? Wenn ja wie? Schonmal Danke im voraus.
Re: Deaktivierter Button Textur entfernen
Verfasst: Montag 1. Dezember 2014, 19:21
von Michael Schneider
Hallo Duardo!
Duardo hat geschrieben:Wenn ich in Python einen button mit
deaktiviere, legt sich so eine arte "Netztextur" darüber, kann ich diese entfernen? Wenn ja wie? Schonmal Danke im voraus.
Auch wenn ich mir nicht vorstellen kann, weshalb man einen Button verwendet, ihn dann deaktiviert und so aussehen lassen möchte, als wäre er nicht deaktiviert...
Du weißt sicherlich, dass beim Deaktivieren die Textfarbe standardmäßig auf die systemtypische Farbe für deaktvierten Text gesetzt wird. Der Wert wird in 'disabledforeground' gespeichert und kann nachträglich überschrieben werden:
Weitere Änderungen wie Overlays sind mir jetzt nicht bekannt, aber bestimmt systemabhängig. Welches Betriebssystem verwendest Du?
Grüße,
Sky
Re: Deaktivierter Button Textur entfernen
Verfasst: Dienstag 2. Dezember 2014, 20:08
von Duardo
Ich verwende Python 2.7 auf Windows 7.
Re: Deaktivierter Button Textur entfernen
Verfasst: Dienstag 2. Dezember 2014, 22:08
von Michael Schneider
Duardo hat geschrieben:Ich verwende Python 2.7 auf Windows 7.
Dasselbe wie ich, und bei mir ist der Button (auf den ersten Blick) im aktivierten Zustand ebenso grau wie im deaktivierten Zustand.
Und wenn ich die Schriftfarbe auch noch auf die Vordergrundfarbe setze, sehen die beiden gleich aus.
Tut mir leid, aber wenn Dir das nicht hilft, wäre vielleicht noch ein Screenshot eine Hilfe für uns.

Re: Deaktivierter Button Textur entfernen
Verfasst: Mittwoch 3. Dezember 2014, 18:17
von Duardo
Nun, leider besteht mein Problem weiterhin. Da ich im Button ein Bild anstatt Text hab, bringt mich deine Lösung leider nicht weiter, da sie sich nur auf die Textfarbe bezieht.
Probiere es am besten selbst mit einem Bild deiner Wahl, hier ein Beispielcode:
Code: Alles auswählen
import Tkinter as tk
window = tk.Tk()
def disable():
button1.config(state="disabled")
button1=tk.Button(command=disable)
testbild=tk.PhotoImage(file="testbild.gif")
button1.image=testbild
button1.configure(relief="flat", image=testbild, height=180, width=180,
background="lightgreen", activebackground="lightgreen", bd=0)
button1.pack()
window.mainloop()
Re: Deaktivierter Button Textur entfernen
Verfasst: Mittwoch 3. Dezember 2014, 19:14
von Michael Schneider
Ok, dass Du ein Bild verwendest, wusste ich nicht.
Aber wie schon angedeutet: warum muss es denn ein Button ein, wenn Du seine typische Funktionalität deaktivierst?
Warum dann nicht ein Label mit z.b. bd=3 und relief='raised'?
Wenn Du dann irgendwann den Button mit normaler Funktion (state='normal') benötigst, tauschst Du das Label einfach gegen den Button aus.
Button ohne Grauschleier wäre sicher einfacher, aber dazu fällt mir gerade keine schnelle Lösung ein.
Viel Erfolg