我想啓用雙擊來編輯標籤。有沒有一種方法可以用條目窗口小部件替換標籤,哪個用戶雙擊,而不會破壞它? 此示例列出標籤控件和破壞後,雙擊它,將進入小部件結尾:用條目小部件替換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()'值替換一個帶有標籤小部件的入口。然而,你做這件事的方式要乾淨得多。 –
這正是我所期待的。 –