本文重点介绍在python中使用Tkinter创建秒表
Tkinter:Tkinter是Python的标准GUI库。与Tkinter结合使用时, Python提供了一种快速简便的方法来创建GUI应用程序。 Tkinter为Tk GUI工具包提供了强大的面向对象的界面。开始使用Tkinter非常容易, 这里有一些示例代码可帮助你使用python来使用Tkinter。
# Python program to create a
# a new window using Tkinter
# importing the required libraires
import tkinter
# creating a object 'top' as instance of class Tk
top = tkinter.Tk()
# This will start the blank window
top.mainloop()
输出如下:
使用Tkinter创建秒表
现在让我们尝试使用Tkinter模块创建程序来创建秒表。
秒表是一种手持式钟表, 设计用于测量从启动特定时间到关闭该表的时间所经过的时间。秒表的大型数字版本, 例如在体育馆中, 可以远距离观看, 称为秒表。在手动计时中, 时钟由人按下按钮启动和停止。在全自动时间内, 启动和停止均由传感器自动触发。
所需模块:我们将仅使用Tkinter来创建GUI, 并且此程序中不会使用其他任何库。
源代码:
# Python program to illustrate a stop watch
# using Tkinter
#importing the required libraries
import tkinter as Tkinter
from datetime import datetime
counter = 66600
running = False
def counter_label(label):
def count():
if running:
global counter
# To manage the intial delay.
if counter = = 66600 :
display = "Starting..."
else :
tt = datetime.fromtimestamp(counter)
string = tt.strftime( "%H:%M:%S" )
display = string
label[ 'text' ] = display # Or label.config(text=display)
# label.after(arg1, arg2) delays by
# first argument given in milliseconds
# and then calls the function given as second argument.
# Generally like here we need to call the
# function in which it is present repeatedly.
# Delays by 1000ms=1 seconds and call count again.
label.after( 1000 , count)
counter + = 1
# Triggering the start of the counter.
count()
# start function of the stopwatch
def Start(label):
global running
running = True
counter_label(label)
start[ 'state' ] = 'disabled'
stop[ 'state' ] = 'normal'
reset[ 'state' ] = 'normal'
# Stop function of the stopwatch
def Stop():
global running
start[ 'state' ] = 'normal'
stop[ 'state' ] = 'disabled'
reset[ 'state' ] = 'normal'
running = False
# Reset function of the stopwatch
def Reset(label):
global counter
counter = 66600
# If rest is pressed after pressing stop.
if running = = False :
reset[ 'state' ] = 'disabled'
label[ 'text' ] = 'Welcome!'
# If reset is pressed while the stopwatch is running.
else :
label[ 'text' ] = 'Starting...'
root = Tkinter.Tk()
root.title( "Stopwatch" )
# Fixing the window size.
root.minsize(width = 250 , height = 70 )
label = Tkinter.Label(root, text = "Welcome!" , fg = "black" , font = "Verdana 30 bold" )
label.pack()
f = Tkinter.Frame(root)
start = Tkinter.Button(f, text = 'Start' , width = 6 , command = lambda :Start(label))
stop = Tkinter.Button(f, text = 'Stop' , width = 6 , state = 'disabled' , command = Stop)
reset = Tkinter.Button(f, text = 'Reset' , width = 6 , state = 'disabled' , command = lambda :Reset(label))
f.pack(anchor = 'center' , pady = 5 )
start.pack(side = "left" )
stop.pack(side = "left" )
reset.pack(side = "left" )
root.mainloop()
输出如下:
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。