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

Posted liuze-2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用三个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()

运行结果:

技术图片

以上是关于用三个while循环和tkinter实现一个显示屏的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 tkinter 事件“继续”或暂停不同的 while 循环?

使用 Tkinter 在 while 循环中录制语音

有没有办法修复 while 循环不使用 time.sleep 更新 tkinter 标签?

c语言中用啥语句实现循环结构语句

Java用while循环编写程序实现1—1000求和,分别显示奇数和与偶数和以及所有数的和?

怎么用jQuery实现轮流间隔几秒循环显示?!