上篇我们已经实现了两个按钮去触发事件
现在我们要去寻找一个可以接收数字的控件 发现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()
定时器的基本功能和界面搞定,下一节我们继续提升界面和功能。
本文介绍如何使用Python的Tkinter库创建GUI应用程序,包括通过按钮触发事件、使用Entry控件获取用户输入并实现定时器功能。文章还讨论了控件布局的问题。
921

被折叠的 条评论
为什么被折叠?



