tkinter Problem mit Ausgabe in GUI
Verfasst: Montag 23. Januar 2023, 12:42
Hallo,
Ich habe folgendes Problem:
Das Programm und das Gui funktionieren, nur wird sobald ich eine Teilenummer gesucht habe das Label mit den Entsprechenden informationen angezeigt und wenn ich nun eine neue Eingabe mache überlappen die Labels teilweise. Wie kann ich nach erfolgreichem anzeigen eines Labels dieses wieder löschen oder entfernen, um den Platz für die nächste Ausgabe wieder frei zu machen?
Ich danke euch schonmal im Voraus!
Ich habe folgendes Problem:
Das Programm und das Gui funktionieren, nur wird sobald ich eine Teilenummer gesucht habe das Label mit den Entsprechenden informationen angezeigt und wenn ich nun eine neue Eingabe mache überlappen die Labels teilweise. Wie kann ich nach erfolgreichem anzeigen eines Labels dieses wieder löschen oder entfernen, um den Platz für die nächste Ausgabe wieder frei zu machen?
Ich danke euch schonmal im Voraus!
Code: Alles auswählen
from tkinter import *
import tkinter
import json
window = Tk()
window.title("Lagerprogramm v1.0")
window.geometry('1000x600')
# Labels
input_field = Entry(window)
input_field_Bestand = Entry(window)
label1 = tkinter.Label(window, text='Teilenummer: ')
label2 = tkinter.Label(window, text='Bestandskorrektur: ')
label3 = tkinter.Label(window, text='Ausgabe: ')
# Sichtbar machen der Labels
label1.grid(row=0, column=0)
label2.grid(row=7, column=0)
label3.grid(row=2, column=1)
input_field.grid(row=0, column=1)
input_field_Bestand.grid(row=7, column=1)
Label_Ausgabe = tkinter.Label(window)
with open("inventar.json", 'r') as file:
Teile = json.load(file)
# Funktionen
def read_input_field(*event):
eingabefeld = input_field.get()
for teil in Teile:
if teil['Teilenummer'] == eingabefeld:
Label_Ausgabe = tkinter.Label(window, text=(f"{teil}"))
Label_Ausgabe.grid(row=3, column=1)
if teil['Teilenummer'] != eingabefeld:
label4 = tkinter.Label(window, text=(f'{eingabefeld} konnte nicht gefunden werden!'))
label4.grid(row=2, column=1)
if (eingabefeld == ''):
def close_window(*event):
window_close_cmd = window.quit()
# Buttons
ok_button = Button(window, text='Ok', command=read_input_field)
ok_button.grid(row=1, column=1)
window.bind('<Return>', read_input_field)
window.bind('<Escape>', close_window)
window.mainloop()