tkinter listbox修改
时间: 2023-11-19 18:05:22 浏览: 152
以下是使用Tkinter Listbox进行修改的示例代码:
```python
import tkinter as tk
class ListBoxDemo(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.create_widgets()
def create_widgets(self):
# 创建Listbox
self.listbox = tk.Listbox(self)
self.listbox.pack(side="left", fill="both")
# 添加数据
for item in ["apple", "banana", "cherry"]:
self.listbox.insert("end", item)
# 创建修改按钮
self.modify_button = tk.Button(self, text="Modify", command=self.modify_item)
self.modify_button.pack(side="top")
def modify_item(self):
# 获取当前选中的项
selected_item = self.listbox.curselection()
if selected_item:
# 获取选中项的索引
index = selected_item[0]
# 获取选中项的值
value = self.listbox.get(index)
# 创建修改窗口
self.modify_window = tk.Toplevel(self)
self.modify_window.title("Modify Item")
# 创建标签和输入框
self.label = tk.Label(self.modify_window, text="New Value:")
self.label.pack(side="left")
self.entry = tk.Entry(self.modify_window)
self.entry.pack(side="left")
# 设置输入框的默认值为选中项的值
self.entry.insert(0, value)
# 创建确认按钮
self.confirm_button = tk.Button(self.modify_window, text="Confirm", command=self.confirm_modify)
self.confirm_button.pack(side="left")
def confirm_modify(self):
# 获取输入框的值
new_value = self.entry.get()
# 获取当前选中的项
selected_item = self.listbox.curselection()
if selected_item:
# 获取选中项的索引
index = selected_item[0]
# 修改选中项的值
self.listbox.delete(index)
self.listbox.insert(index, new_value)
# 关闭修改窗口
self.modify_window.destroy()
root = tk.Tk()
app = ListBoxDemo(master=root)
app.mainloop()
```
运行上述代码后,会弹出一个窗口,其中包含一个Listbox和一个Modify按钮。点击Modify按钮后,会弹出一个新窗口,其中包含一个标签和一个输入框,用于修改Listbox中选中项的值。修改完成后,点击确认按钮即可完成修改。
阅读全文