Python练习题(五)


在这里插入图片描述

tkinter 多线程计时器、Label、Button

import tkinter as tk
from threading import Thread, Event

hour = 0


class ControlThread(Thread):
    def __init__(self):
        self._stop_event = Event()
        Thread.__init__(self)

    def run(self):
        f1()

    def terminate(self):
        self._stop_event.set()

    def stopped(self):
        return self._stop_event.is_set()


def f1():  # 计时
    def count():
        global hour
        global x
        hour += 1
        hour %= 24
        label_hour.config(text=str(hour))
        x = label_hour.after(3600, count)
    count()


def run():
    global t1
    t1 = ControlThread()
    t1.start()


def stop():
    global t1
    label_hour.after_cancel(x)
    t1.terminate()


root = tk.Tk()

root.title("time")

label_time = tk.Label(root, text="时刻(h)")
label_time.grid(row=0, column=0, columnspan=3)

label_hour = tk.Label(root, bg="lightblue"<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值