python - 在 Python Tkinter 中,如何在 mainloop 窗口打开后运行代码?
问题描述
我想创建一个小动画,其中文本出现在像屏幕这样的旧单色终端上,就好像有人在打字一样。但是,我在 GUI 窗口打开后尝试运行代码时经常遇到问题。当窗口打开或根本不出现时,文本总是已经存在。任何帮助都非常感谢:)
string = "Hello World this is a Test String"
import random
import time
import tkinter as tk
from tkinter import *
vid = tk.Tk()
vid.title('Terminal')
text = Text( vid, width = 100, height = 50, highlightthickness=1, bg='black', highlightbackground="black", font=('Courier', 14), fg='green')
text.pack()
def main():
for i in string:
text.insert(END, i)
time.sleep(0.2)
text.after(10, main)
vid.mainloop()
这是我到目前为止想出的:/
解决方案
您需要update_idletasks()
在睡后使用。以下对我有用,如果您有任何其他问题,请告诉我:
string = "Hello World this is a Test String"
import random
import time
import tkinter as tk
from tkinter import *
vid = tk.Tk()
vid.title('Terminal')
text = Text( vid, width = 100, height = 50, highlightthickness=1, bg='black', highlightbackground="black", font=('Courier', 14), fg='green')
text.pack()
def main():
for i in string:
text.insert(END, i)
time.sleep(0.2)
vid.update_idletasks()
vid.after(10, main)
vid.mainloop()
推荐阅读
- bash - 完成第一个循环后,循环退出的 Shell 脚本
- javascript - 下划线 js - Uncaught SyntaxError: Unexpected token if
- javascript - 近似的平方根
- python - 如何使用 Django Rest Framework 将多个模型序列化为一个序列化器以实现层次结构?
- java - 防止变量在运行结束后重置
- r - 如何修复此意外令牌“!=”错误
- r - 平均变量元素
- batch-file - 如何在 WMIC 中使用 if 语句
- google-cloud-messaging - 来自dry_run请求的200响应/无错误的含义
- javascript - 如何在文本段落中找到关键词?