扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

Tkinter Label濡備綍瀹炵幇婊氬姩鏂囧瓧

扬州沐宇科技
2024-06-14 12:51:42
tkinter

瑕佸疄鐜版粴鍔ㄦ枃瀛楋紝鍙互浣跨敤Tkinter鐨凜anvas缁勪欢鍜屾爣绛剧粍浠舵潵瀹炵幇銆備互涓嬫槸涓€涓ず渚嬩唬鐮侊細

import tkinter as tk

class ScrollLabel(tk.Frame):
    def __init__(self, master, text, speed=2):
        tk.Frame.__init__(self, master)
        
        self.canvas = tk.Canvas(self)
        self.canvas.pack(side="left")
        
        self.label = tk.Label(self.canvas, text=text)
        self.label.pack()
        
        self.canvas_width = self.label.winfo_reqwidth()
        self.canvas_height = self.label.winfo_reqheight()
        self.canvas.config(width=self.canvas_width, height=self.canvas_height)
        
        self.scroll_speed = speed
        self.scroll_text()
    
    def scroll_text(self):
        self.canvas.move(self.label, -self.scroll_speed, 0)
        if self.canvas.canvasx(0) < -self.canvas_width:
            self.canvas.move(self.label, self.canvas_width + self.winfo_width(), 0)
        self.after(30, self.scroll_text)

# 鍒涘缓涓荤獥鍙?/span>
root = tk.Tk()
root.title("Scrolling Label")

# 鍒涘缓婊氬姩鏂囧瓧鏍囩
scroll_label = ScrollLabel(root, "Hello, this is a scrolling label!", speed=2)
scroll_label.pack()

# 杩愯涓诲惊鐜?/span>
root.mainloop()

鍦ㄨ繖涓ず渚嬩腑锛屾垜浠畾涔変簡涓€涓嚜瀹氫箟鐨凷crollLabel绫伙紝瀹冪户鎵胯嚜tk.Frame銆傚湪ScrollLabel绫荤殑鏋勯€犲嚱鏁颁腑锛屾垜浠垱寤轰簡涓€涓狢anvas缁勪欢鍜屼竴涓狶abel缁勪欢鏉ユ樉绀鸿婊氬姩鐨勬枃瀛楋紝骞惰缃簡婊氬姩閫熷害銆傜劧鍚庢垜浠畾涔変簡scroll_text鏂规硶鏉ュ疄鐜版枃瀛楃殑婊氬姩鏁堟灉銆?/p>

鍦ㄤ富绐楀彛涓紝鎴戜滑鍒涘缓浜嗕竴涓猄crollLabel瀹炰緥锛屽苟灏嗗叾娣诲姞鍒颁富绐楀彛涓樉绀恒€傛渶鍚庯紝鎴戜滑杩愯涓诲惊鐜潵鏄剧ず绐楀彛鍜屾粴鍔ㄦ枃瀛椼€傛偍鍙互鏍规嵁闇€瑕佽皟鏁存粴鍔ㄩ€熷害鍜屾枃瀛楀唴瀹广€?/p>

扫码添加客服微信