Как проверить, пуст ли виджет ввода, если он принимает только значения int - PullRequest
0 голосов
/ 30 апреля 2020

Я создаю GUI с tkinter для моего приложения Генератор паролей, в которое я включил виджет ввода, в котором пользователи могут вводить длину создаваемого пароля.

Если пользователь делает не вводить никакое значение (только целое число) в поле ввода. Я хочу вызвать ошибку с messagebox.showerror . Как я могу проверить, является ли поле ввода пустым или нет?

1 Ответ

1 голос
/ 30 апреля 2020

Решение:

  • Вам потребуется get значение внутри Entry и сохранить его в переменной.
  • Затем проверьте длину переменной (используя len) и поставьте условие, что if ее длина равна 0, это означает, что Entry пусто, затем вы можете отобразить сообщение об ошибке.
  • После того как вы проверили его длину, теперь вы можете преобразовать его в целое число.

Как в этом Пример:

import tkinter as tk
from tkinter import messagebox


def check():
    var = e.get()
    if len(var) == 0:
        messagebox.showerror('Error', 'Entry is empty')
    else:
        pass

    var = int(var)


root = tk.Tk()

e = tk.Entry(root)
e.pack()

b = tk.Button(root, text='check', command=check)
b.pack()

root.mainloop()

...