[Python] Wie kann ich im tkinter Fenster einen Text eingeben und den auch im Fenster wieder ausgeben lasen?

1 Antwort

Diese Beispielanwendung zeigt beide Fälle:

import tkinter as tk

class Example():
  def __init__(self):
    self.root = tk.Tk()
    self.text = tk.StringVar()

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

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

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

    self.root.mainloop()

  def printText(self):
    self.text.set(self.input.get())

app = Example()

An das Label wird ein StringVar-Objekt gebunden. Sobald sich dieses ändert, ändert sich auch der Text des Labels.


verreisterNutzer  09.05.2021, 00:02
Tool.text = StringVar(Tool)
Tool.input = Entry(Tool)
Tool.input.pack()

url = f"http://ipinfo.io/{Tool.text}/json"
response = urlopen(url)
data = json.load(response)

Error:

urllib.error.HTTPError: HTTP Error 404: Not Found

Die Seite wurde also nicht gefunden. Wie kriege ich denn die Eingabe auch in diesen Link?

0
regex9  09.05.2021, 00:19
@verreisterNutzer

Initial ist das Label / der Text natürlich leer. Es bekommt erst einen Wert, sobald der Nutzer etwas eingetragen hat. Erst dann darf die URL zusammengebaut und der Request ausgeführt werden. Schau dir nochmal mein obiges Beispiel an. Der Text wird erst bei Eintreten eines Events ausgelesen.

1