我是 Python 新手。该程序在 Tk() 窗口内创建一个标签。 “hi”这个词被无限期地写入标签中。如何删除旧的 hi,同时仍无限期地写入新的 hi?这就是我阻止内存泄漏的方法吗?这是代码:
from tkinter import *
def box(a):
z=Label(root,text='%s'%(a))
z.place(width=50,height=20)
def start(root):
a="hi"
box(a)
root.after(100, start, root)
root = Tk()
start(root)
root.mainloop()
最佳答案
只替换文本而不是每次都创建 Label
对象怎么样。
from tkinter import *
def box(a):
z['text'] = a
def start(root):
box('hi')
root.after(100, start, root)
root = Tk()
z = Label(root, text='')
z.place(width=50, height=20)
start(root)
root.mainloop()
<小时/>
from tkinter import *
def start(root, z):
a = 'hi'
z['text'] = a
root.after(100, start, root, z)
root = Tk()
z = Label(root, text='')
z.place(width=50, height=20)
start(root, z)
root.mainloop()
关于python - 寻找一种方法来阻止这个基本程序中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31284719/