我有需要用户输入的python代码,因此我使用了很多输入语句。现在,我正在使用Tkinter创建GUI,并希望在Tkinter中显示这些输入语句。有办法吗?
例如。
var=float(input("enter a number"))
现在,我想显示输入语句“在Tkinter中输入数字”。有可能做到吗?如果是,怎么办?
答案 0 :(得分:1)
您可以使用tkinter的input
命令来代替使用askstring
函数。这将弹出一个小对话框,询问问题,并将用户的输入返回到脚本。
import tkinter as tk
import tkinter.simpledialog as sd
def getUserInput():
userInput = sd.askstring('User Input','Enter your name')
print(f'You said {userInput}')
root = tk.Tk()
btn = tk.Button(root,text="Get Input", command=getUserInput)
btn.grid()
root.mainloop()
如果您想输入数值,tkinter还具有askfloat
和askinteger
函数。这些允许您指定最小值和最大值。
import tkinter as tk
import tkinter.simpledialog as sd
def getUserInput():
userInput = sd.askstring('User Input','Enter your name')
print(f'You said {userInput}')
def getUserFloatInput():
options = {'minvalue':3.0,'maxvalue':4.0}
userInput = sd.askfloat('User Input','Enter an approximation of Pi',**options)
print(f'You said pi is {userInput}')
def getUserIntegerInput():
options = {'minvalue':4,'maxvalue':120}
userInput = sd.askinteger('User Input','How old are you?',**options)
print(f'You said you are {userInput}')
root = tk.Tk()
btn1 = tk.Button(root,text="Get String Input", command=getUserInput)
btn1.grid()
btn2 = tk.Button(root,text="Get Float Input", command=getUserFloatInput)
btn2.grid()
btn3 = tk.Button(root,text="Get Integer Input", command=getUserIntegerInput)
btn3.grid()
root.mainloop()