如何检查Tkinter输入框是否为空?
换句话说,如果它没有分配给它的值。
答案 0 :(得分:12)
您可以获取该值,然后检查其长度:
if len(the_entry_widget.get()) == 0:
do_something()
您可以获取窗口小部件中最后一个字符的索引。如果最后一个索引为0(零),则为空:
if the_entry_widget.index("end") == 0:
do_something()
答案 1 :(得分:2)
如果您使用StringVar()
,请使用:
v = StringVar()
entry = Entry(root, textvariable=v)
if not v.get():
#do something
如果不使用:
entry = Entry(root)
if not entry.get():
#do something
答案 2 :(得分:1)
这也有效:
if not the_entry_widget.get():
#do something
答案 3 :(得分:0)
这是课堂上使用的一个例子。
import Tkinter as tk
#import tkinter as tk (Python 3.4)
class App:
#Initialization
def __init__(self, window):
#Set the var type for your entry
self.entry_var = tk.StringVar()
self.entry_widget = tk.Entry(window, textvariable=self.entry_var).pack()
self.button = tk.Button(window, text='Test', command=self.check).pack()
def check(self):
#Retrieve the value from the entry and store it to a variable
var = self.entry_var.get()
if var == '':
print "The value is not valid"
else:
print "The value is valid"
root = tk.Tk()
obj = App(root)
root.mainloop()
然后从上面进入只能使用数字和字符串。如果用户输入空格,将输出错误消息。现在,如果迟到希望你的输入是整数或浮点数或其他形式,你只需要把它抛出来!
Example:
yourVar = '5'
newVar = float(yourVar)
>>> 5.0
希望有所帮助!