print und label.config

Fragen zu Tkinter.
Antworten
nil
User
Beiträge: 2
Registriert: Freitag 26. Januar 2018, 18:14

Freitag 26. Januar 2018, 18:42

Dies ist nicht wichtig. Ich bin Rentner und noch ein bischen neugierig. Hier ein Funktionsaufruf und meine Frage:

def startcat():
global wahllist
for f in wahllist:
labelzeig.config(text = "hier")
print f
os.system("cat "+f+" >> OutFile.mts")
labelzeig.config(text = f)
labelzeig.config(text = "E N D E")
#print("E N D E")

labelzeig funktioniert. Wenn das Programm fertig ist steht im label E N D E. Es scheint also weiter hinten richtig definiert worden zu sein.
Beim Programmablauf wird 'print f' korrekt ausgeführt und in der Konsole angezeigt (eins nach dem anderen). Warum wird im Label labelzeig-- f (ist ein String)-- nicht angezeigt und auch nicht "hier"?
Bitte nicht schimpfen. Programm funktioniert für mich, wüsste aber gerne was ich falsch mache.
__deets__
User
Beiträge: 2695
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 26. Januar 2018, 19:13

Bitte benutz die Code-Tags (Code markieren, Drop-Down "Code auswaehlen" anklicken), damit man deinen Code wirklich verstehen kann. Sonst gehen die semantisch relevanten Einrueckungen verloren.

Zum Code: was du da machst waere mit Python Bordmitteln ohne Rueckgriff auf umstaendliche os.system-Calls einfach selbst gemacht:

Code: Alles auswählen

with open("OutFile.mts", "a") as outf:
       for name in wahllist:
             with open(name) as inf: 
                    outf.write(inf.read())
Was dein eigentliches Problem angeht: wir diskutieren das gerade hier im tkinter Forum, schau mal hier:

viewtopic.php?f=18&t=42046#p320828
nil
User
Beiträge: 2
Registriert: Freitag 26. Januar 2018, 18:14

Freitag 26. Januar 2018, 19:24

__deets__ hat geschrieben:Bitte benutz die Code-Tags (Code markieren, Drop-Down "Code auswaehlen" anklicken), damit man deinen Code wirklich verstehen kann. Sonst gehen die semantisch relevanten Einrueckungen verloren.

Zum Code: was du da machst waere mit Python Bordmitteln ohne Rueckgriff auf umstaendliche os.system-Calls einfach selbst gemacht:

Code: Alles auswählen

with open("OutFile.mts", "a") as outf:
       for name in wahllist:
             with open(name) as inf: 
                    outf.write(inf.read())
Was dein eigentliches Problem angeht: wir diskutieren das gerade hier im tkinter Forum, schau mal hier:

viewtopic.php?f=18&t=42046#p320828
Ok, danke das war
schon mal hilfreich. Aber für mich ist es wohl doch zu komliziert warum "print" geht und "label.config" nicht. Bin ja kein Programmierer.
__deets__
User
Beiträge: 2695
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 26. Januar 2018, 19:37

Bitte nicht den gesamten Post von mir zitieren - der steht genau drueber.

Was die Kompliziertheit angeht - nunja, GUIs sind nicht einfach. Musst du wissen, ob dich das ins Bockshorn jagt oder nicht, aber solche Probleme werden immer wieder auftauchen.
Antworten