python messagebox und eingabefeld?
Hey
Ich programmiere seit ca. 1 Woche mit Python und versuche gerade einen Ausloser zu programmieren und bräuchte Hilfe.
ich weiß nicht wie man aus dem Eingabe Feld die Eingabe auslesen kann und dann in einer Message box den Gewinner der Namen die eingegeben wurden ausgeben kann.
Hier mein code:
from tkinter import *
import random
from tkinter import messagebox
def Winner():
messagebox.showinfo("Winner", "Winner")
return
def Quit():
window.quit()
window = Tk()
window.title("Ausloser")
window.geometry("500x200")
window.resizable(False, False)
Beschreibung = Label(window, text ="| Geben Sie die Namen der Leute ein |").grid(row = 4)
e1 = Entry(window)
e1.grid(row=4, column = 1)
Start = Button(window, text = "Start", width=25, command = Winner).grid(row=5, column = 0, sticky = W, pady = 4)
Quit = Button(window,text = "Exit" ,width=25, command = Quit).grid(row = 6, column = 0, sticky=W, pady = 4)
window.mainloop()
1 Antwort
Ich hab es mal kurz ausprobiert und bissl gegoogelt:
from tkinter import *
window = Tk()
feldchen = Entry(window)
feldchen.grid(row=1, column=1)
Wenn man jetzt was in das Feldchen reinschreibt, kriegt man den eingetippten String mit
feldchen.get()
Woher ich das weiß:Recherche
Hey danke für deine Hilfe:
Habe es jetzt herausbekommen:
from tkinter import *
import random
from tkinter import messagebox
def Winner():
nameList = userInput.get().split()
name = random.choice(nameList)
messagebox.showinfo("Winner", "Winner: " + name)
def Quit():
window.quit()
window = Tk()
userInput = StringVar()
window.title("Ausloser")
window.geometry("500x200")
window.resizable(False, False)
Beschreibung = Label(window, text ="| Geben Sie die Namen der Leute ein |").grid(row = 4)
e1 = Entry(window, textvariable=userInput)
e1.pack
e1.grid(row=4, column = 1)
ftart = Button(window, text = "Start", width=25, command = Winner).grid(row=5, column = 0, sticky = W, pady = 4)
exiy = Button(window,text = "Exit" ,width=25, command = Quit).grid(row = 6, column = 0, sticky=W, pady = 4)
names = e1.get()
window.mainloop()