Unendliche neue Labels erstellen

Fragen zu Tkinter.
Antworten
Felix5555
User
Beiträge: 2
Registriert: Mittwoch 18. Oktober 2023, 18:30

Hallo,
ich bin noch ziemlich neu beim Programmieren und habe mich etwas mit tkinter befasst, jedoch habe ich das Problem, dass ich eine Liste erstellen möchte in der ich einen Stichpunkt in ein Entry eingebe, dieses auslese und dann einen Checkbutton für jeden neuen Stichpunkt erstelle, jedoch komme ich da nicht weiter. Mein relevanter bisheriger Code sieht so aus:
from tkinter import *

def onKeyPress(event):
x = e_add.get()
print(x)

root = Tk()
l_add = Label(root,text= "Hier Aufgaben hinzufügen")
l_add.pack()
e_add = Entry(root)
e_add.pack()
e_add.bind('<Return>', onKeyPress)
root.mainloop()

Ich bitte vielmals um Hilfe und eine Lösung, egal wie schwer diese auch sein mag, da ich bereit bin mich ausgiebig mit der Lösung zu befassen
MfG
Felix
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Man benutzt keine *-Importe, weil damit verschleiert wird, woher welcher Name stammt.
Man benutzt keine kryptischen Abkürzungen, weil jedes rätseln den Code schwieriger zu lesen macht.
Man benutzt keine globalen Variablen, alles was eine Funktion braucht, muß sie über ihre Argumente bekommen.
Ein Programm, das das einhält, könnte zum Beispiel so aussehen:

Code: Alles auswählen

import tkinter as tk
from functools import partial

def on_key_press(entry, event):
    task = entry.get()
    print(task)


def main():
    root = tk.Tk()
    tk.Label(root, text= "Hier Aufgaben hinzufügen").pack()
    new_task_entry = tk.Entry(root)
    new_task_entry.pack()
    new_task_entry.bind('<Return>', partial(on_key_press, new_task_entry))
    root.mainloop()


if __name__ == "__main__":
    main()
Für jede etwas komplexere GUI braucht man aber Klassen. Das solltest Du also zuerst lernen.

Weißt Du, wie man Listen benutzt? Weißt Du, wie man Checkboxen erzeugt? Wo kommst Du konkret nicht weiter?
Felix5555
User
Beiträge: 2
Registriert: Mittwoch 18. Oktober 2023, 18:30

Vielen Dank, ich habe mir zwar schon etwas Klassen angeschaut, wusste aber nicht dass diese mit tkinter verwendet werden und werde mir einfach ein paar Tutorials ansehen.
Antworten