Как добавить проверку проверки присутствия в поле ввода в TKinter? - PullRequest
0 голосов
/ 13 мая 2019

Во-первых, я знаю, что этот вопрос уже задавался.Однако ни один из ответов на него фактически не отвечает на вопрос.

Я создаю программу, которая позволяет хранить детали в базе данных.Эти данные также могут быть найдены для использования конкретных данных (в данном случае, имя, фамилия, номер дома и почтовый индекс).Поэтому, для поиска деталей, эти данные должны присутствовать.

У меня есть поля ввода, которые позволяют сохранять данные, введенные в базу данных, но я бы хотел, чтобы они недобавить детали, если только не были введены вышеупомянутые данные.

В псевдокоде я бы хотел, чтобы программа работала аналогично:

if Firstname or Surname or House or Postcode is not present:
    output "Please enter required information"

В настоящее время это мой код для полей ввода:

Label(frame1, text = "Postcode: ", font = ("arial 11"), fg = "#b83dba").grid(row = 7, column = 0, sticky = W)
pcVar = StringVar()
pc = Entry(frame1, textvariable = pcVar, bg = "silver")
pc.grid(row = 7, column = 1, sticky = W)

Я бы предпочел, чтобы, когда необходимые данные не вводились, я мог использовать код: messagebox.showerror("Error","Required fields are missing")

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 13 мая 2019

Не берите в голову, я только что узнал об этом, поэтому я опубликую, как я это сделал, на случай, если кто-то еще захочет узнать. Если вы используете entryvar = Entry(frame1, textvariable = testVar) в качестве примера, в коде для фактического сохранения данных вы должны включить:

Q = entryvar.get() #Returns the entry's current text as a string.

if Q == "":
    messagebox.showerror("Error","Missing required fields") #Opens a messagebox informing the user that the details were not saved and that the data needs to be entered

else:
    conn.execute('''INSERT INTO TABLE (DATA)
        VALUES(?)''', (dataNew);
    conn.commit()

    messagebox.showinfo("Success","Details Saved") #Opens a messagebox informing the user that the details have saved

Извиняюсь за мой SQL, поскольку я не очень уверен в этом языке.

...