繁体   English   中英

Python 3 Tkinter列表框重置

[英]Python 3 tkinter Listbox resetting


作为更大的Raspberry-Python3.5应用程序的一部分,我构建了一个填充有简单数据列表的tkinter列表框。 每当我用新数据重建列表时,tkinter都会在旧列表下面添加一个新列表,而不是使用相同的对象,而是仅替换数据。
我尝试了我可以想象的任何选项(以及一些奇怪的选项...),只得到一个列表,但无济于事。
如何删除旧对象和/或构建一个新对象和/或仅替换数据?
这是一个简短的工作示例:

import tkinter as tk
root = tk.Tk()  

datalist = 0 ,66 ,42 ,553 ,68

def run():
    listbox = tk.Listbox(root)
    listbox.insert(0,datalist)
    listbox.pack()

stepbutton = tk.Button(root, text = "Step", command = run)
stepbutton.pack()   

如果要用新列表替换现有项目,则需要先删除它们。 您可以使用.delete()方法删除列表项。 这将删除列表框中的所有项目。

listbox.delete(0, 'end')
# then insert new list here

要执行您的操作,请创建一个列表框,然后在命令run()交换列表框的内容。

import tkinter as tk

root = tk.Tk()  

# listbox to display data
listbox = tk.Listbox(root)
listbox.pack()

datalist = 0 ,66 ,42 ,553 ,68

def run():
    global listbox
    # clear listbox
    listbox.delete(0, 'end')
    # insert new contents
    listbox.insert(0, datalist)


stepbutton = tk.Button(root, text="Step", command=run)
stepbutton.pack()   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM