I'm looking for a library to take an integer and string input from a user in Python. Some Google searches point to using Tkinter
and 'Tkinter Entry', but now how do I code it for integer and code another for string?
I'm trying to create a simple input box, take an integer as input and assign that integer to some variable.
if you want an actual GUI, then tkinter is the simplest way, but if you only want simple raw input then input()
works fine.
example:
test=input('prompt:') #take input
print(test*10) #print it ten times
simpledialog
comes with python 3.x and has pop-ups that have an input box on them. but isn't as easy as input()
The following code provides examples using tkinter
with an Entry widget to get the user input or alternatively using tkinter.simpledialog
to display a window for the user to enter a value.
Here is a useful guide to using tkinter
. There are many more out there for beginners like yourself
Code:
import tkinter as tk
from tkinter.simpledialog import askstring, askinteger
from tkinter.messagebox import showerror
def display_1():
# .get is used to obtain the current value
# of entry_1 widget (This is always a string)
print(entry_1.get())
def display_2():
num = entry_2.get()
# Try convert a str to int
# If unable eg. int('hello') or int('5.5')
# then show an error.
try:
num = int(num)
# ValueError is the type of error expected from this conversion
except ValueError:
#Display Error Window (Title, Prompt)
showerror('Non-Int Error', 'Please enter an integer')
else:
print(num)
def display_3():
# Ask String Window (Title, Prompt)
# Returned value is a string
ans = askstring('Enter String', 'Please enter any set of characters')
# If the user clicks cancel, None is returned
# .strip is used to ensure the user doesn't
# enter only spaces ' '
if ans is not None and ans.strip():
print(ans)
elif ans is not None:
showerror('Invalid String', 'You must enter something')
def display_4():
# Ask Integer Window (Title, Prompt)
# Returned value is an int
ans = askinteger('Enter Integer', 'Please enter an integer')
# If the user clicks cancel, None is returned
if ans is not None:
print(ans)
# Create the main window
root = tk.Tk()
# Create the 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 is used to add the widgets to root
# Alternatives are Pack and 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()
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.