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!
Frame neu laden
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
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
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
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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...
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...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
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()
-
- User
- Beiträge: 16
- Registriert: Donnerstag 14. April 2005, 12:53
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?
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?
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Hab ich schon mal erwähnt dass ich nicht verstehe was Du meinst?
PS: Nochmal: Zeig Code!
Gruß, mawe
Hab ich schon mal erwähnt dass ich nicht verstehe was Du meinst?

Ok, heisst das, Du hast in einem Frame mehrere Labels (oder eines), die die Werte anzeigen?langeLeitung hat geschrieben: In Update werden mit Label und grid die Werte aus meiner Datei in ein Frame geschrieben.
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.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.
PS: Nochmal: Zeig Code!

Gruß, mawe
-
- User
- Beiträge: 16
- Registriert: Donnerstag 14. April 2005, 12:53
Also... hier mein Code:
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
Code: Alles auswählen
datei = open('kopfdaten.txt', 'r')
w=Label(self.frame3, text=(datei.readline().rstrip("\n")))
w.grid(row=0, column=1)
@mawe: Warum verstehst Du mich eigentlich nicht

-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
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
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


Gruß, mawe
-
- User
- Beiträge: 16
- Registriert: Donnerstag 14. April 2005, 12:53
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...
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...