Seite 1 von 1
bild ersetzt und alles weg
Verfasst: Sonntag 10. April 2005, 16:27
von Arminius
hallo, ich habe mehrere buttons in einem array. nun starte ich folgende funktion:
Code: Alles auswählen
def change(self):
self.photo=PhotoImage(file='brute.gif')
self.buttons[1][1].config(image=self.photo)
dannach sind alle buttons weg und nur der geändere button erscheint, dass allerdings auch nicht an seiner eigentlichen stelle. weis jemand woran das liegt und wie ich es verhindern kann?
Verfasst: Montag 11. April 2005, 12:59
von Arminius
weis denn keiner wie es sein kann, dass die buttons verschwinden und der eine button nicht an seiner eigentlichen position ist?
Verfasst: Montag 11. April 2005, 13:44
von mawe
Hi!
Kannst Du bitte etwas mehr Code zeigen, anhand diesen 3 Zeilen kann man wirklich nichts sagen.
Gruß, mawe
Verfasst: Montag 11. April 2005, 16:39
von Arminius
Code: Alles auswählen
self.buttons[1][1]=Button(frame,border=1,image=self.photo,command=self.change)
self.buttons[1][1].place(x=1,y=1)
wenn ich jetzt auf diesen button klicke, soll er eigentlich sein bild ändern, allerdings verschwinden alle Buttons und nur dieser erscheint mit dem neuem Bild an einer ganz anderen position
Verfasst: Montag 11. April 2005, 16:54
von mawe
Hi!
Sehr witzig! Statt 3 Zeilen bietest Du jetzt als "mehr" Information 2 Zeilen.
Arminius hat geschrieben:
weis denn keiner wie es sein kann, dass die buttons verschwinden und der eine button nicht an seiner eigentlichen position ist?
Nein. Und mit den Informationen die Du lieferst stehen die Chancen schlecht dass Du eine brauchbare Antwort bekommst.
Also zeig doch bitte etwas
mehr. Was z.B. interessant wäre, wie werden denn die anderen Buttons (die dann verschwinden) erzeugt. Wenns nicht zu lang ist, poste einfach das ganze Programm. Ansonsten streich alles unnötige und zeig den Rest.
Gruß, mawe
Verfasst: Montag 11. April 2005, 22:23
von BlackJack
Ich rate trotzdem mal. Soweit ich weiss muss man bei Tkinter selber dafür sorgen, dass immer eine Referenz auf Bilder besteht, die man in die GUI einbaut.
Diese Referenz ist bei Dir `self.photo` und wenn Du in `change` ein anderes Bild an diesen Namen bindest, dann verschwindet das vorherige aus dem Speicher.
Verfasst: Montag 11. April 2005, 22:43
von mawe
Hi Blackjack!
Da hast Du recht, allerdings verschwinden die Buttons dann nicht, sondern nur die Bilder
(und der mit dem neuen Bild sollte auch da bleiben wo er war).
@Arminius:
Wenn das bei Dir so passiert, versuchs mal so:
Code: Alles auswählen
def change(self):
self.new_photo=PhotoImage(file='brute.gif')
self.buttons[1][1].config(image=self.new_photo)
Gruß, mawe