如何正确检查文本框是否为空?

时间:2016-11-02 20:17:44

标签: python tkinter textbox

当我在文本中没有输入任何内容并单击回车时,它将文本的长度计为1,这意味着那里有一些东西。 (可能一个空格),在文本框中输入实际空格会使计数增加1.我想知道如何检查文本框是否为空。如果没有人在文本框中输入任何内容,我想要一种方法来查看。

from tkinter import *
from tkinter import ttk
from tkinter import messagebox

def submitted(*args): #Progressbar is set to be fully completed and states information recorded
    print(len(t.get("1.0", END)))
    if len(t.get("1.0", END))==1:
        messagebox.showinfo("Error", "No information entered in description.")

#Sets title and creates gui
root=Tk()

#Creates text widget
t = Text(root, width=20, height=10)
t.grid(column=0,row=1)

#Submitting calls submitted function to set progressbar to 100 and statemessage box has been completed
subbttn= ttk.Button(root, text="Submit", command=submitted)
subbttn.grid(column=1, row=1, sticky=(S, W, E))

2 个答案:

答案 0 :(得分:3)

如果您打印出空文本框的内容,您会看到有一个“\n”换行符。这就是导致您看到空文本框的长度为1的原因。

如果您想查看它是否为空,您可以检查是否只有一个新行。或者,就像您现在一样,检查len(t.get("1.0", END)是否为一个。

if t.get("1.0", END)=="\n":
而不是:
if len(t.get("1.0", END))==1:

答案 1 :(得分:1)

我正在开发一个python程序,除以下解决方案外,以上解决方案均不适用于我:len(t.get("1.0", END))>=1。它会发现文本框中是否存在一个或多个字符。