Seite 1 von 1
Frame neu laden
Verfasst: Freitag 15. April 2005, 13:02
von langeLeitung
Hallo!
Wie kann ich einen Frame neu laden?
Der Frame ließt Variablen aus einer Datei. Diese Datei wird von einem Popup-Fenster geändert. Wenn sich dieses Fenster schließt soll der Frame neu aufgerufen werden, damit er die aktuellen Variablen einließt.
Vielen Dank für die Hilfe und ein schönes Wochenende!
Verfasst: Freitag 15. April 2005, 13:48
von mawe
Hi!
Sorry, ich versteh's nicht ganz. Dein Frame liest Daten? Meines kann das nicht
.
Sags bitte mal genauer, willst Du Daten in einem Entry oder Label anzeigen? Was genau ist das Problem?
Gruß, mawe
Verfasst: Freitag 15. April 2005, 15:21
von Leonidas
Ich vermute mal folgendes:
Das Frame wird erstellt. Danach werden die Widgets auf dem Frame mit Daten gefüllt (aus dieser Datei). Danach wird ein Popup geöffnet, das die Daten verändert. Nun will langeLeitung, das das Frame die Daten aktualisiert, also die Datei neu einliest. Scheint mir persönlich aber kein Problem zu sein, man setzt einfach die Werte in den Widgets neu...
Verfasst: Freitag 15. April 2005, 15:38
von mawe
Na gut, dann mal ein kleines Beispiel:
Code: Alles auswählen
from Tkinter import *
import tkSimpleDialog
def change():
new = tkSimpleDialog.askstring("Na?","Na gib schon den neuen Wert ein!")
l.configure(text=new)
root = Tk()
f = Frame()
f.pack()
l = Label(f,text="0")
l.pack()
Button(text="Change",command=change).pack()
root.mainloop()
Verfasst: Montag 18. April 2005, 09:30
von langeLeitung
Hallo!
Vielen Dank für eure Antworten. Ja, ich denke wohl noch nicht objektorientiert
OK, nun habe ich eine Funktion innerhalb der Klasse, die ich "Update" nenne. In Update werden mit
Label und
grid die Werte aus meiner Datei in ein Frame geschrieben.
Nun habe ich noch folgendes Restproblem:
Die neuen Wörter werden wirklich
über die Alten geschrieben. Wir also ein kurzes Wort eingefügt und vorher stand ein Langes an der Position, so kann man Reste des alten Wortes noch immer sehen. Das Neue verdeckt das Alte nicht vollständig.
Kann ich die Inhalte einer Zelle der "Grid-Tabelle" geziehlt löschen?
Verfasst: Montag 18. April 2005, 13:39
von mawe
Hi!
Hab ich schon mal erwähnt dass ich nicht verstehe was Du meinst?
langeLeitung hat geschrieben:
In Update werden mit Label und grid die Werte aus meiner Datei in ein Frame geschrieben.
Ok, heisst das, Du hast in einem Frame mehrere Labels (oder eines), die die Werte anzeigen?
langeLeitung hat geschrieben:
Die neuen Wörter werden wirklich über die Alten geschrieben. Wir also ein kurzes Wort eingefügt und vorher stand ein Langes an der Position, so kann man Reste des alten Wortes noch immer sehen. Das Neue verdeckt das Alte nicht vollständig.
Kannst Du bitte zeigen, wie Du die Wörter auf die Labels (oder wohin auch immer) schreibst. Wenn Du's mit
configure machst wie ich's gezeigt hab, sollte das nicht passieren.
PS: Nochmal: Zeig Code!
Gruß, mawe
Verfasst: Montag 18. April 2005, 14:04
von langeLeitung
Also... hier mein Code:
Code: Alles auswählen
datei = open('kopfdaten.txt', 'r')
w=Label(self.frame3, text=(datei.readline().rstrip("\n")))
w.grid(row=0, column=1)
Die Zeilen stehen in der Funktion "Update". Wenn "datei" verändert wurde, rufe ich die funktion erneut auf. Das
klatscht die Texte übereinander, darum kann man Fragmente von längeren Worten noch sehen, wenn ein kurzes Wort eingefügt wird...
@mawe: Warum verstehst Du mich eigentlich nicht
Verfasst: Montag 18. April 2005, 14:27
von mawe
Hi!
Warum erzeugst Du ein neues Label? Lass doch einfach das alte stehen und ändere nur den Text darauf.
Warum ich Dich nicht verstehe?
Anfangs hast Du geschrieben, dass Dein Frame Variablen einliest. Sowas kann ein Frame aber nicht. Dann hast Du irgendetwas von Label erwähnt, na gut, da war's dann eh halbwegs klar, was Du meinst (mit Betohnung auf halbwegs
). Wie Du siehst hab ich ja richtig geraten
Gruß, mawe
Verfasst: Dienstag 19. April 2005, 06:31
von langeLeitung
Hallo mawe!
Wir kommen der Sache näher
Bitte verrate mir noch, wie ich den Text eines Labels ändern kann, ohne eine neues Label zu erstellen.
Vielen Dank
Stefan
PS: Mittlerweile habe ich das Buch "Python GE-PACKT". Ich hoffe, meine Fragen werden nun seltener und
besser...
Verfasst: Dienstag 19. April 2005, 08:54
von Gast
Verfasst: Dienstag 19. April 2005, 10:50
von mawe
Hi!
Ein kurzer Blick auf mein Beispiel hätte die Frage auch beantwortet
Aber man lernt eh mehr wenn man selbst tüftelt
Gruß, mawe