Я хотел бы реализовать функцию, которая при нажатии кнопки, связанная функция будет выполняться по периоду. Как я могу это сделать? Я пишу код следующим образом. Я предлагаю при нажатии кнопки «начать», тогда функция извлечения будет выполняться по периоду. Я в то время как Правда, чтобы сделать это, но функция мертвыхtkinter после использования метода в Button
def fetch(ent,t):
i=0
w3username=ent[0].get()+'\n'
info.append(w3username)
w3passwd=ent[1].get()+'\n'
info.append(w3passwd)
emailname=ent[2].get()+'\n'
info.append(emailname)
emailpasswd=ent[3].get()+'\n'
info.append(emailpasswd)
for i in info:
t.insert(END,i)
def makeframe(root,fields):
entry=[]
variables=[]
for field in fields:
row=Frame(root)
lab=Label(row,width=10,text=field)
ent=Entry(row)
row.pack(side=TOP,fill=X)
lab.pack(side=LEFT)
ent.pack(side=RIGHT,expand=YES,fill=X)
var=StringVar()
var.set('enter here')
ent.configure(textvariable=var)
variables.append(var)
return variables
if __name__=='__main__':
info=[]
root=Tk()
root.title('iCare tool')
fileds=['w3username','w3passwd','emailuser','emailpasswd']
entry=makeframe(root,fileds)
t=Text(root)
Button(root,text='begin',command=(lambda:fetch(entry,t))).pack(side=LEFT,expand=YES,fill=X)
t.pack(side=BOTTOM)
root.mainloop()
Я также использую after
метод, но до сих пор не работал
b = Button(root, text='begin', command=(lambda:fetch(entry,t)))
b.after(1000, fetch, entry, t)
b.pack()
редактировать вопрос и с помощью кнопки '{}' правильно форматировать код - теперь он не читается. – furas
назначьте функцию кнопки и внутри этой функции используйте 'root.after()' – furas
пробелы после запятой и aroudn '=' (кроме случаев, когда вы назначаете аргументы внутри '()', чтобы сделать код более читаемым. – furas