ich mache zur Zeit erste Gehversuche mit tk und habe mir ein kleines Beispielprogramm geschrieben:
Code: Alles auswählen
import tkinter
import tkinter.scrolledtext
def test(): # Test-Funktion
try:
entry_text = (number_entry.get())
entry_text = float(entry_text)
widget_solution.insert("end", entry_text)
widget_solution.insert("end", "\n")
number_entry.delete(0, "end")
number_entry.insert(0, "")
except ValueError:
widget_solution.insert("end", "Bitte eine ZAHL eingeben")
widget_solution.insert("end", "\n")
number_entry.delete(0, "end")
number_entry.insert(0, "")
main = tkinter.Tk() # Hauptfenster
# In diesem Frame werden Werte mit entry-Widgets entgegen genommen
frame_value = tkinter.Frame(main, relief = "sunken")
frame_value.pack()
# In diesem Frame werden (später einmal) Einstellungen verändert
frame_settings = tkinter.Frame(main, relief = "ridge")
frame_settings.pack(fill = "both")
# Dieses Widget dient der Ausgabe
widget_solution = tkinter.scrolledtext.ScrolledText(main, height = 10)
widget_solution.pack(anchor = "s")
# In diesem Widget werden Werte eingegeben
number_entry = tkinter.Entry(frame_value)
number_entry.pack()
# Dieser Button sorgt dafür, dass die Test-Funktion aufgerufen wird
button_anzeigen = tkinter.Button(frame_settings, text = "anzeigen",
command = test)
button_anzeigen.pack()
# Endlosschleife
main.mainloop()
1. Wie kann ich im Entry-Widget einen grauen Text anzeigen, der sobald ich rein klicke verschwindet? (Wie bspw. bei der Windows-Anmeldung)
2. Wie kann ich bei einem Kommandoaufruf per Button (also bspw. command=foo) der Funktion foo einen/mehrere Parameter übergeben?
3. Sollte ich auf etwas bestimmtes achten, mache ich was falsch (im Hinblick auf die Qualität/Lesbarkeit des Codes)?
Ich bin noch relativ unerfahren mit Tkinter, ich wäre sehr erfreut wenn man darauf Rücksicht bei der Antwort nehmen würde

Lg HH