py(gui程式設計 計時器

2021-10-07 07:31:22 字數 2867 閱讀 2456

源**框架來自於 @痴情一笑戀紅顏的一篇部落格.

然後我對原始碼進行了修改,新增了停止,繼續,清空的功能

,並對顯示進行了修飾

**如下:

from tkinter import *

# import subprocess

# import os

import sys

import math

counter = 0

stopbool = true

emptybool = true

#主函式

def counter_label(label,counter):

if counter:

counter = 0

def count():

global counter

global stopbool

global emptybool

counter += 1

# 配置屬性

# 區間大小

# label.config(width=10, height=2)

# 文字內容

label.config(text = str(math.floor(counter/60%60/10))+str(math.floor(counter/60%10))+':'+str(math.floor(counter%60/10))+str(counter%10))

# 字型顏色

label.config(fg='red')

# label位置

# label.config(anchor='c')

#判斷stopbool選擇是否繼續迴圈

if stopbool and emptybool:

# after函式的第乙個引數設定毫秒數後,呼叫count函式

label.after(1000, count)

else:

#由於獲取到stopbool和emptybool更改的值後,counter還會加1,並且在label標籤中顯示出來,所以需要減去1,並從新顯示,由於計算機計算過快,我們就不會看到停止後數還往上加1的情況

counter -= 1

label.config(text = str(math.floor(counter/60%60/10))+str(math.floor(counter/60%10))+':'+str(math.floor(counter%60/10))+str(counter%10),fg='black')

count()

#控制項函式

def quit():

# subprocess.call("pause",shell=true)

# os.system('pause')

# input()

sys.exit()

def start():

global stopbool

global emptybool

stopbool = true

emptybool = true

counter_label(label,counter)

start['text']="繼續"

def stop():

global stopbool

stopbool = false

def empty():

global emptybool

global counter

emptybool = false

counter = 0

label.config(text="00:00", fg="black")

start['text'] = '開始'

#開始root = tk()

root.title("計時器")

label = label(root,text="00:00",fg="black",width=10, height=2,anchor='c')

label.pack(side='left')

# 查詢方法或屬性

# print help(label.config)

# print help(label.after)

#控制項button = button(root, text='退出', width=5, command=quit, anchor='c')

button.pack(side='right') # 或command=root.destory小伙視窗

start = button(root, text='開始', width=5, command=start, anchor='c')

start.pack(side='left')

stop = button(root, text='停止', width=5, command=stop, anchor='c')

stop.pack(side='right')

empty = button(root, text='清空', width=5, command=empty, anchor='c')

empty.pack(side='right')

root.mainloop()

執行結果如下:

初始介面

程式設計題 計時器

實現乙個打點計時器,要求 1 從 start 到 end 包含 start 和 end 每隔 100 毫秒 console.log 乙個數字,每次數字增幅為 1 2 返回的物件中需要包含乙個 cancel 方法,用於停止定時操作 3 第乙個數需要立即輸出 錯誤示範 function count st...

python計時器 python 計時器

import sysclassshowtime qwidget def init self super init self.istimestart false 標記時間是否開始計時 self.setwindowtitle qlable 顯示計時時間 self.lable time val qlabe...

python計時器單位 python計時器類

import time as t class mytimer def init self self.unit 年 月 日 時 分 秒 self.prompt 未開始計時 self.lasted self.start 0 self.stop 0 def str self return self.pro...