我想启用双击来编辑标签。有没有一种方法可以用条目窗口小部件替换标签,哪个用户双击,而不会破坏它? 此示例列出标签控件和破坏后,双击它,将进入小部件结尾:用条目小部件替换python tkinter标签小部件
from tkinter import *
class MainWindow:
def __init__(self, root):
self.root = root
self.tasks = ['text1', 'text2', 'text3']
self.list_tasks()
def list_tasks(self):
self.tasks_frame = Frame(self.root)
for task in self.tasks:
task_label = Label(self.tasks_frame, text=task)
task_label.bind('<Double-Button-1>', self.replace_with_entry)
task_label.pack()
self.tasks_frame.pack()
def replace_with_entry(self, event):
widget = event.widget
widget.destroy()
entry_widget = Entry(self.tasks_frame)
entry_widget.pack()
root = Tk()
main_window = MainWindow(root)
root.mainloop()
我想在完全相同的地方,那里是标签进入小部件。我认为这可能与网格,但也许有更好的办法?
甜菜我给它。尽管你的解决方案需要更少的代码 –
我喜欢在这里使用的地方。我打算用一个入口小部件替换网格位置处的标签小部件,然后用'get()'值替换一个带有标签小部件的入口。然而,你做这件事的方式要干净得多。 –
这正是我所期待的。 –