Tkinter如何检查输入框是否为空

13

如何检查Tkinter中的输入框是否为空?

换句话说,它是否没有分配值。

4个回答

33
你可以获取该值并检查其长度:

您可以获取该值,然后检查其长度:

if len(the_entry_widget.get()) == 0:
    do_something()
您可以获取小部件中最后一个字符的索引。如果最后的索引是0(零),则为空:
if the_entry_widget.index("end") == 0:
    do_something()

7
如果您正在使用 StringVar(),请使用以下代码:
v = StringVar()
entry = Entry(root, textvariable=v)

if not v.get():
    #do something

如果不使用:
entry = Entry(root)
if not entry.get():
    #do something

2
这也可以起作用:
if not the_entry_widget.get():
  #do something

1
这是课堂上使用的一个例子。
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

希望能有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接