用三个while循环和tkinter实现一个显示屏(实现字体向左翻滚)
直接上代码吧!
import tkinter as tk
import time
# 输入框是跟程序打交道的一个途径,例如程序要求你输入账号密码,那么它就需要提供两个输入框给你。
str_2=input('请输入:') # 输入自己想要的内容
root=tk.Tk()
root.geometry('300x50') # 设置图形界面的大小为 宽 300 高 50
text_1=tk.Text(root,font=('方正楷体',12,'bold'),bg='black',fg='red',width=33)
text_1.grid(row=0)
while True:
str_1=str_2
i=0
# 如果两个循环均结束,那么休眠3秒,然后继续进行一下操作
while True:
# 如果显示屏的元素(汉字、英文、数字)个数超过16个,那么久需要更新一下,首先先将
# 所有元素删除,并刷新,然后在显示屏上插入后十五个元素,再添加一个元素
# 如果后面的元素已经不足16个元素,就将剩下的元素全部插入即可。
if i==16:
str_1=str_1[1:]
text_1.delete("1.0",tk.END)
root.update
i=15
if len(str_1)>16:
for k in range(15):
text_1.insert(tk.INSERT,str_1[k])
else:
for k in range(len(str_1)):
text_1.insert(tk.INSERT,str_1[k])
try:
text_1.insert(tk.INSERT,str_1[i])
time.sleep(0.4)
i+=1
root.update()
except:
# 将剩下的元素显示出一个动态效果
while True:
if len(str_1)==0:
break # 退出最里面的循环
str_1=str_1[1:]
text_1.delete("1.0",tk.END)
root.update()
for jk in range(len(str_1)):
text_1.insert(tk.INSERT,str_1[jk])
root.update()
time.sleep(0.4)
break # 退出次里面的一个循环
time.sleep(3)
root.mainloop()
运行结果: