上篇我们已经实现了两个按钮去触发事件
现在我们要去寻找一个可以接收数字的控件 发现tk的entry貌似可以用 去网上查询更多例子
class Application(tk.Frame):
def __init__(self,master=None):
tk.Frame.__init__(self,master)
self.pack()
self.createWidgets(master)
def createWidgets(self,master):
self.end=tk.Button(self,text="end",fg="red",command=self.cbend)
self.end.pack(side="bottom")
self.start=tk.Button(self)
self.start["text"]="start"
self.start["command"]=self.cbstart
self.start.pack(side="top")
self.e1=tk.Entry()
self.e1.pack(side="left")
def cbstart(self):
a=self.e1.get()
print(a)
def cbend(self):
print("end button clicked!")
root=tk.Tk()
app=Application(master=root)
app.mainloop()
现在输入可以获得了,虽然控件的位置看其里很不爽,现在把我们之前的逻辑代码加入
#imports
from threading import Timer
import tkinter as tk
class Application(tk.Frame):
def __init__(self,master=None):
tk.Frame.__init__(self,master)
self.pack()
self.createWidgets(master)
self.t=0
def note_event(self):
print(chr(7))
print(chr(7))
print(chr(7))
print(chr(7))
print(chr(7))
def createWidgets(self,master):
self.end=tk.Button(self,text="end",fg="red",command=self.cbend)
self.end.pack(side="bottom")
self.start=tk.Button(self)
self.start["text"]="start"
self.start["command"]=self.cbstart
self.start.pack(side="top")
self.e1=tk.Entry()
self.e1.pack(side="left")
def cbstart(self):
time=self.e1.get()
print(time)
self.t=Timer(int(time),self.note_event)
self.t.start()
def cbend(self):
print("end button clicked!")
root=tk.Tk()
app=Application(master=root)
app.mainloop()
定时器的基本功能和界面搞定,下一节我们继续提升界面和功能。