最简单的跑马灯程序

源程序

 

仿真文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单跑马灯程序,使用Python的Tkinter模块实现: ```python from tkinter import * class Marquee(Frame): def __init__(self, parent, text, bg, fg, font, width): Frame.__init__(self, parent, bg=bg) self.text = text self.font = font self.fg = fg self.width = width self.canvas = Canvas(self, bg=bg, width=width, height=font[1]) self.canvas.pack(side=LEFT) self.label = Label(self.canvas, text=text, bg=bg, fg=fg, font=font) self.label.pack(side=LEFT, padx=(0, width)) self.canvas.create_window(width, font[1]//2, window=self.label, anchor=W) self.bind('<Configure>', self.on_configure) self.offset = 0 self.tick() def tick(self): self.offset -= 1 if self.offset < -self.label.winfo_width(): self.offset = self.width self.canvas.coords(self.label, self.offset, 0) self.after(10, self.tick) def on_configure(self, event): self.canvas.configure(scrollregion=self.canvas.bbox('all')) root = Tk() root.title('跑马灯程序') root.geometry('500x50') marquee = Marquee(root, text='欢迎使用跑马灯程序', bg='black', fg='white', font=('Arial', 20), width=500) marquee.pack(fill=X) root.mainloop() ``` 这个程序创建了一个Marquee类,用于实现跑马灯效果。Marquee类继承自Frame类,并包含一个Canvas和一个Label。 Canvas用于显示跑马灯文字,而Label则是Canvas中的一个子组件,用于显示具体的文字内容。Canvas和Label的大小都是根据文字内容和字体大小计算得到的。 Marquee类有一个tick()方法,用于不断地更新Canvas中Label的位置,从而实现跑马灯效果。在这个方法中,使用after()函数实现了定时器,每隔10毫秒调用一次tick()方法。 程序主要部分是在Marquee类的构造函数中。在这里,我们创建了一个Canvas,然后将Label放在Canvas中,使用create_window()方法实现。然后绑定了Configure事件,当窗口大小改变时,重新计算Canvas的scrollregion,以便实现滚动效果。 最后,在程序的主函数中,创建了一个Marquee对象,并将其放在窗口中间。运行程序后,将会看到一个跑马灯效果的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值