【问题标题】:checking whether Entry is empty or not in a python Tkinter program在python Tkinter程序中检查Entry是否为空
【发布时间】:2013-01-30 20:10:43
【问题描述】:

我在 python 程序中有一个条目,我希望我的用户在其中输入一个 URL。我的第一个任务是检查用户是否输入了一个值。我使用了以下代码,但它没有按预期工作。

我的条目名称是txtUrl

if(txtUrl.get() == ""):
    tkMessageBox.showerror("Error", "please enter a url")

如果用户输入了一个 url 然后显示下一个窗口

else:
    webCrawl=Tk()

    #and other widgets in it

这就是我创建txtUrl 小部件的方式

self.txtUrl=Entry(self)
self.txtUrl["width"]=60
self.txtUrl.grid(row = 0, column = 1, sticky = EW)

我也试过用这条线

self.txtUrl["textvariable"]=content

并尝试获取如下值并检查其是否为空,但它也不起作用

if(content.get()==""):
    tkMessageBox.showerror("Error","please enter a url")

请告诉我如何检查它。我正在尝试由 asp.net 中的必填字段验证器完成类似的任务

【问题讨论】:

  • 当你说“它没有按预期工作”时,它在做什么?它会抛出错误吗?它是否返回一个不在小部件中的字符串?它总是返回 None 还是空字符串? python会崩溃吗?
  • 为什么要创建另一个 Tk 实例? "webCrawl=Tk()"

标签: python python-2.7 tkinter


【解决方案1】:

您的问题中没有足够的信息来回答。你说某事不起作用,但你没有说那是什么意思。您说的特定代码行不起作用在语法上看起来是正确的。因此,除非您能更具体地说明您遇到的行为或错误,否则我们无法提供帮助。

您的代码中还有另一个可能导致问题的关键错误。具体来说,是您执行else: webCrawl=Tk() 的行。在程序执行过程中,您永远不需要创建多个 Tk 实例。如果您所做的只是创建更多窗口,请创建Toplevel 的实例。

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 2022-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    相关资源
    最近更新 更多