我试图使长度为x的Tkinter画布文本在有限区域内连续滚动<x

2024-09-29 23:15:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使长度为x的Tkinter画布文本在小于x的有限区域上连续滚动。我有多个具有不同文本的canvatext对象。如果我打印(newtext),它会显示我想要的卷轴,但在程序运行期间不会显示。我尝试了一个while-True:loop,但它根本没有显示画布。任何帮助都将不胜感激。你知道吗

 text='really long text string that i want to scroll 15 characters at a time'

 canvastext=canvas.create_text(1,1,text=scrolltext(text),
 tag=(calmotag,booktag,'texttag'),width=20)

def scrolltext(text):
     textlength=15
     shorttext=tkinter.StringVar() 
     shorttext.set(text.get()[0:14])
     itemtext=text.get()
     if len(itemtext)>textlength:

         newindex=0
         endindex=newindex+14
         while endindex<len(itemtext)+2:
             oldtext=shorttext.get()
             oldindex=itemtext.index(oldtext)
             newindex=oldindex+1
             endindex=newindex+14
             newtext=itemtext[newindex:endindex]
             shorttext.set(newtext)
             root.update_idletasks()
             root.after(1000)

Tags: text文本getlen画布setwhilenewindex

热门问题