Python tkinter编写时钟gui

本文介绍了如何利用Python的tkinter库创建一个GUI时钟,通过threading模块处理时钟指针的动态更新,提供了clock.py和get_time.py的源码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用tkinter编写gui,threading处理指针动画,源码如下

  1. clock.py
import tkinter as tk # Python 3
import math
import get_time as gt
import re
import threading
root = tk.Tk()


def createWidgets():
    CANVAS_WIDTH = 200
    CANVAS_HEIGHT = 200
    root.canvas = tk.Canvas(root,width=CANVAS_WIDTH, height=CANVAS_HEIGHT, highlightthickness=0,bg='green')
    root.canvas.pack()
    circle(root.canvas, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2 - 10, 'SlateGray')
    circle(root.canvas, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2 - 16, 'DarkSlateGray')
    circle(root.canvas, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2, CANVAS_WIDTH / 2 - 18, 'white')
    time = gt.get_time()
    root.h = int(re.match('\d+-\d+-\d+ (\d+):\d+:\d+.*', time['datetime']).group(1))
    root.m = int(re.match('\d+-\d+-\d+ \d+:(\d+):\d+.*', time['datetime']).group(1))
    root.s = int(re.match('\d+-\d+-\d+ \d+:\d+:(\d+).*', time['datetime']).group(1))
    timer_h = threading.Timer(1, paint_h)
    timer_h.start()
    root.canvas.bind(sequence="<B1-Motion>", func=processMouseEvent)
    root.canvas.bind(sequence="<Button-1>", func=getMouseLocation)
    root.canvas.bind(sequence="<ButtonRelease-1>", func=resetMouseLocation)
    root.canvas.bind
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值