使用python创建秒表

2021年5月13日16:39:58 发表评论 952 次浏览

本文重点介绍在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()

输出如下:

使用python创建秒表1

使用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创建秒表2
使用python创建秒表3

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: