Python Tkinter水平自动滚动标签

Python Tkinter水平自动滚动标签,python,tkinter,label,Python,Tkinter,Label,目前,我有一个python tkinter标签,可以水平滚动文本 deli = 100 svar = tk.StringVar() labl = tk.Label(root, textvariable=svar, height=1,width=20,fg='skyblue',bg='black',font=('calibri',(13))) def shif(): shif.msg = shif.msg[1:] + shif.msg[0] svar.set(shif.

目前,我有一个python tkinter标签,可以水平滚动文本

 deli = 100   
 svar = tk.StringVar()
 labl = tk.Label(root, textvariable=svar, height=1,width=20,fg='skyblue',bg='black',font=('calibri',(13)))
def shif():
    shif.msg = shif.msg[1:] + shif.msg[0]
    svar.set(shif.msg)
    root.after(deli, shif)
shif.msg=' This is a Test This is a Test This is a Test'
shif()

但我发现标签运动是相当不稳定的。我想这是因为它每次移动(或者更确切地说是移动)1个字符。有没有办法获得更平滑的输出?

如果想要更平滑的动画,请将文本放在画布上。这样做将允许您以小到一个像素的增量移动文本。您可以简单地插入整个文本屏幕,然后将对象移动到您想要的任何方向,画布将为您管理文本剪辑

你的意思是使用画布。创建文本?它似乎不支持
textvariable
命令。抱歉,如果这个问题听起来很愚蠢。@ChrisAung:为什么你认为你需要一个textvariable选项?您仍然可以随时更改文本。不过,如果您愿意,您可以在画布中嵌入一个标签,以充分利用这两个世界。