【问题标题】:Tkinter check if entry box is emptyTkinter 检查输入框是否为空
【发布时间】:2013-03-05 12:11:24
【问题描述】:

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

换句话说,如果它没有分配一个值。

【问题讨论】:

    标签: python tkinter tkinter-entry


    【解决方案1】:

    你可以获取值,然后检查它的长度:

    if len(the_entry_widget.get()) == 0:
        do_something()
    

    您可以获取小部件中最后一个字符的索引。如果最后一个索引为 0(零),则为空:

    if the_entry_widget.index("end") == 0:
        do_something()
    

    【讨论】:

      【解决方案2】:

      如果您使用的是StringVar(),请使用:

      v = StringVar()
      entry = Entry(root, textvariable=v)
      
      if not v.get():
          #do something
      

      如果不使用:

      entry = Entry(root)
      if not entry.get():
          #do something
      

      【讨论】:

        【解决方案3】:

        这也可以:

        if not the_entry_widget.get():
          #do something
        

        【讨论】:

          【解决方案4】:

          这是一个在课堂上使用的例子。

          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
          

          希望有帮助!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2022-07-24
            • 2018-05-26
            • 2020-09-17
            • 1970-01-01
            • 1970-01-01
            • 2022-12-04
            • 2015-01-11
            相关资源
            最近更新 更多