为了账号安全,请及时绑定邮箱和手机立即绑定

七段数字时钟与python Tkinter中的系统时间与strftime

七段数字时钟与python Tkinter中的系统时间与strftime

慕尼黑的夜晚无繁华 2021-08-17 18:26:12
我需要一个带有time.strftime. 我有这个时钟:import sysfrom tkinter import *import timedef tick():    time_string = time.strftime("%M:%S")    clock.config(text=time_string)    clock.after(200, tick)root = Tk()clock = Label(root, font = ("times", 250, "bold"), bg="white")clock.grid(row=0, column=1)tick()root.mainloop()这对于数字:offsets = (    (0, 0, 1, 0),  # top    (1, 0, 1, 1),  # upper right    (1, 1, 1, 2),  # lower right    (0, 2, 1, 2),  # bottom    (0, 1, 0, 2),  # lower left    (0, 0, 0, 1),  # upper left    (0, 1, 1, 1),  # middle)digits = (    (1, 1, 1, 1, 1, 1, 0),  # 0    (0, 1, 1, 0, 0, 0, 0),  # 1    (1, 1, 0, 1, 1, 0, 1),  # 2    (1, 1, 1, 1, 0, 0, 1),  # 3    (0, 1, 1, 0, 0, 1, 1),  # 4    (1, 0, 1, 1, 0, 1, 1),  # 5    (1, 0, 1, 1, 1, 1, 1),  # 6    (1, 1, 1, 0, 0, 0, 0),  # 7    (1, 1, 1, 1, 1, 1, 1),  # 8    (1, 1, 1, 1, 0, 1, 1),  # 9    (1, 1, 1, 0, 1, 1, 1),  # 10=A    (0, 0, 1, 1, 1, 1, 1),  # 11=b    (1, 0, 0, 1, 1, 1, 0),  # 12=C    (0, 1, 1, 1, 1, 0, 1),  # 13=d    (1, 0, 0, 1, 1, 1, 1),  # 14=E    (1, 0, 0, 0, 1, 1, 1),  # 15=F)class Digit:    def __init__(self, canvas, *, x=10, y=10, length=20, width=3):        self.canvas = canvas        l = length        self.segs = []        for x0, y0, x1, y1 in offsets:            self.segs.append(canvas.create_line(                x + x0*l, y + y0*l, x + x1*l, y + y1*l,                width=width, state = 'hidden'))    def show(self, num):        for iid, on in zip(self.segs, digits[num]):            self.canvas.itemconfigure(iid, state = 'normal' if on else 'hidden')但是,我不知道如何将它们结合起来。对实际代码的任何改进将不胜感激,如果您发现应该删除或替换某些内容,请随时进行更改。我不需要使用这个确切的实现,但这就是我所拥有的。如果库中有一个函数或其他东西可以让工作变得更容易,请告诉我。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信