python - Tkinter 打字动画
问题描述
所以我正在尝试制作一个有打字动画的程序,
这是我的可重现示例:
from tkinter import *
root = Tk()
text = "message"
num = 0
message = text[num]
label = Label(root,text=message)
label.pack()
def add() :
global num
num + 1
leng = len(text)
if num == leng :
while True :
num = leng
label.configure(text=message)
root.after(1000, add)
root.mainloop()
它不起作用,只显示第一个字母
解决方案
首先,请制作描述性的变量名称。调用变量x
不会帮助其他人理解它们代表什么。
其次,你使用的方式root.after()
不是它的工作方式。这段代码应该在一个函数中,它应该作为第二个参数。
最后,我删除了 message 变量,因为我们可以将索引值增加 1。
这是代码:
from tkinter import *
root = Tk()
text = "message"
index = 0
lab = Label(root)
lab.pack()
def add(a):
global index
if index < len(text):
lab.config(text=lab.cget("text") + text[index])
index += 1
root.after(1000, add, root)
add('arg')
root.mainloop()
推荐阅读
- python - Python 3,post 方法误导
- ruby-on-rails - radio_button_tag 的值以散列形式出现
- monaco-editor - OmniSharp-Roslyn 扫描/发现过程不起作用
- discord.js - 避免消息重复?
- excel - Excel VBA 用于过滤数据透视上的报表页面
- r - R - 通过列差异循环
- c# - 如何将字段更改为只读是一项重大更改
- python - 在 Pandas DataFrame 操作中处理零或 NaN
- sql - 父>子表上的SQL递归查询
- node.js - WebdriverIo 似乎没有排除我包含页面对象文件的文件夹