Как проверить, пусто ли поле ввода Tkinter?Tkinter проверяет, пусто ли поле ввода
Другими словами, если у него нет назначенного ему значения.
Как проверить, пусто ли поле ввода Tkinter?Tkinter проверяет, пусто ли поле ввода
Другими словами, если у него нет назначенного ему значения.
Вы можете получить значение, а затем проверить его длину:
if len(the_entry_widget.get()) == 0:
do_something()
Вы можете получить индекс последнего символа в виджете. Если последний индекс равен 0 (нулю), то пусто:
if the_entry_widget.index("end") == 0:
do_something()
Это также будет работать:
if not the_entry_widget.get():
#do something
Вот пример, используемый в классе.
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
Надеюсь, что это поможет!
Если вы используете StringVar()
использование:
v = StringVar()
entry = Entry(root, textvariable=v)
if not v.get():
#do something
Если не использовать:
entry = Entry(root)
if not entry.get():
#do something
Это работало, спасибо! – SkyDrive26