Задача
Создать окно entry в Tkinter. При вводе 7 цифр они должны быть записаны в список sp. Окно очищается, выдается команда "ввести новое значение" и все по новой. Если первая цифра 2 и длина 3 значения, то производится запись в словарь где ключ 2 а в значение предыдущий заполненный список. После этого программа выдает 'процес начался' и останавливается на 10 сек и выдает 'введите значения повторно' После этого, если вводится значение соответствующее ключу словаря, выводится 'процес закончился' и программа заканчивается.
Вместо этого программа останавливается на 10 сек. сразу срабатывает
И программа продолжает работать.
Создать окно entry в Tkinter. При вводе 7 цифр они должны быть записаны в список sp. Окно очищается, выдается команда "ввести новое значение" и все по новой. Если первая цифра 2 и длина 3 значения, то производится запись в словарь где ключ 2 а в значение предыдущий заполненный список. После этого программа выдает 'процес начался' и останавливается на 10 сек и выдает 'введите значения повторно' После этого, если вводится значение соответствующее ключу словаря, выводится 'процес закончился' и программа заканчивается.
Код:
from tkinter import *
from tkinter import ttk
import time
import datetime
sp = []
sl = {}
def check(*args):
#print(name)
m = 0
ff_lotok = 'a'
ff = name.get()
if int(ff[0]) == 2 and len(ff) == 3 and m == 0:
ff_lotok = ff
sl[ff] = sp
print('процес начался')
name_entry.delete(0, last= END)
time.sleep(10)
m = m + 1
ff_lotok = ff
print('введите значения повторно')
if ff_lotok == ff and m == 1:
print('процес закончился')
if len(ff) == 7 and m == 0:
sp.append(ff)
print('введите значения повторно')
name_entry.delete(0, last= END)
root = Tk()
root.title("METANIT.COM")
root.geometry("250x200")
name = StringVar()
name_entry = ttk.Entry(textvariable=name)
name_entry.pack(padx=5, pady=5, anchor=NW)
name_entry.focus_set()
# отслеживаем изменение значения переменной name
name.trace_add("write", check)
root.mainloop()
Вместо этого программа останавливается на 10 сек. сразу срабатывает
Код:
if ff_lotok == ff and m == 1:
print('процес закончился')