当我在文本中没有输入任何内容并单击回车时,它将文本的长度计为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))
答案 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
。它会发现文本框中是否存在一个或多个字符。