Tkinter hängt sich auf wenn ich den Button drücke?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn du schon tkinter mit Eingabefeldern verwendest, dann lese die Werte auch über diese aus.

Hier ein einfaches Beispiel, wie das aussehen kann:

import tkinter as tk

def printText():
  global text
  text.set(input.get())
  
root = tk.Tk()
text = tk.StringVar()

input = tk.Entry(root)
input.pack()

output = tk.Label(root, textvariable=text)
output.pack()

button = tk.Button(root, text="Print text", command=printText)
button.pack()

root.mainloop()

Wenn der Nutzer seine Eingabe getätigt hat, kann er dem Programm via Buttonklick Bescheid geben, dass es nun seine Eingabe lesen darf. Auf den Buttonklick reagiert die printText-Funktion.

Von Experte MrAmazing2 bestätigt

Wenn du ein Fenster erstellst, und dann über input() was einliest, pausiert alles, weil es auf eine Eingabe von Standard-In wartet. Du wirst rausfinden müssen wie man denn mit TK den Wert eines Feldes ausließt.

PS: Überleg dir doch mal ein paar Variablennamen, abcdef usw ist wenig übersichtlich.

Woher ich das weiß:Berufserfahrung – Softwareentwicklerin