Taking integer and string input from GUI in python -
i'm looking library take integer , string input user in python. google searches point using tkinter
, 'tkinter entry', how code integer , code string?
i'm trying create simple input box, take integer input , assign integer variable.
the following code provides examples using tkinter
entry widget user input or alternatively using tkinter.simpledialog
display window user enter value.
here useful guide using tkinter
. there many more out there beginners yourself
code:
import tkinter tk tkinter.simpledialog import askstring, askinteger tkinter.messagebox import showerror def display_1(): # .get used obtain current value # of entry_1 widget (this string) print(entry_1.get()) def display_2(): num = entry_2.get() # try convert str int # if unable eg. int('hello') or int('5.5') # show error. try: num = int(num) # valueerror type of error expected conversion except valueerror: #display error window (title, prompt) showerror('non-int error', 'please enter integer') else: print(num) def display_3(): # ask string window (title, prompt) # returned value string ans = askstring('enter string', 'please enter set of characters') # if user clicks cancel, none returned # .strip used ensure user doesn't # enter spaces ' ' if ans not none , ans.strip(): print(ans) elif ans not none: showerror('invalid string', 'you must enter something') def display_4(): # ask integer window (title, prompt) # returned value int ans = askinteger('enter integer', 'please enter integer') # if user clicks cancel, none returned if ans not none: print(ans) # create main window root = tk.tk() # create widgets entry_1 = tk.entry(root) btn_1 = tk.button(root, text = "display text", command = display_1) entry_2 = tk.entry(root) btn_2 = tk.button(root, text = "display integer", command = display_2) btn_3 = tk.button(root, text = "enter string", command = display_3) btn_4 = tk.button(root, text = "enter integer", command = display_4) # grid used add widgets root # alternatives pack , place entry_1.grid(row = 0, column = 0) btn_1.grid(row = 1, column = 0) entry_2.grid(row = 0, column = 1) btn_2.grid(row = 1, column = 1) btn_3.grid(row = 2, column = 0) btn_4.grid(row = 2, column = 1) root.mainloop()
Comments
Post a Comment