用三个while循环和tkinter实现一个显示屏

用三个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()

运行结果:

posted @ 2020-03-01 11:39  坚持不懈的大白  阅读(801)  评论(0编辑  收藏  举报
@format