tkinter - 使用平滑的“褪色”动画使帧向右隐藏
Posted
技术标签:
【中文标题】tkinter - 使用平滑的“褪色”动画使帧向右隐藏【英文标题】:tkinter - make a frame hide to the right with smooth "fading" animation 【发布时间】:2022-01-21 11:32:36 【问题描述】:我做了一个简单的程序,主窗口有一个框架hideout
,它会慢慢移出屏幕
但它不起作用
import tkinter as tk
from tkinter import ttk
import time
root = tk.Tk()
root.geometry('360x640')
hideout = tk.Frame(root, background= '#fff', width = 360, height= 640)
def initial(*args):
for i in range(361):
time.sleep(0.01)
about.place(x=i,y=0)
root.after(0,initial)
root.mainloop()
这里有什么问题?
【问题讨论】:
“但它不起作用”太含糊了。请具体说明具体方式并包含任何错误消息。 【参考方案1】:您正在使用未定义的变量:当在about
上调用place()
时,您的意思可能是hideout
。
“淡出”可以直接用root.after
回调控制;使用time.sleep
会在动画期间阻塞你的GUI;这是不可取的。
这是一个工作示例:
import tkinter as tk
def initial(t=0):
hideout.place(x=t, y=0)
if t > 360:
return
root.after(10, initial, t+1)
if __name__ == '__main__':
root = tk.Tk()
root.geometry('360x640')
hideout = tk.Frame(root, background='#fff', width=360, height=640)
initial()
root.mainloop()
【讨论】:
以上是关于tkinter - 使用平滑的“褪色”动画使帧向右隐藏的主要内容,如果未能解决你的问题,请参考以下文章