Python / Tkinter:在Button上绘制一个Entry

时间:2015-07-02 19:04:24

标签: python tkinter

我有一个带有一堆按钮的Python / Tkinter应用程序,我想让用户能够编辑这些按钮上的文本。

对我来说,最直观的方法是,如果用户右键单击按钮,则在按钮顶部创建一个Entry小部件,并暂时隐藏按钮。

我做到了,它有点工作,但有一个问题。该按钮不想隐藏。例如。我创建了一个Entry小部件,它最初出现在Button的顶部。然后,如果我在输入框内单击,它会短暂消失(一两秒钟),再次显示该按钮,然后重新出现。如果我点击'tab'并将焦点移出Entry,它会完全消失(再次显示按钮),只有当我点击进入/按钮区域时才会重新出现。

我做错了什么/无意识,这是一个错误,是否有解决方法?

这是我的条目创建代码('self'是按钮小部件):

def on_mouse_rightclick(self, event):
    self.prev_state = self["state"]
    self.entry = Entry(self, {"width":8})
    self.entry.pack(side=TOP, anchor=W)
    self.entry.insert(0, self['text'])
    self.entry.bind('<Return>', self.on_entry_edit)
    self.entry.bind('<Escape>', self.on_escape)
    self['state'] = DISABLED
    self.lower(self.entry)

我尝试拨打self.entry.lift(),甚至暂时从按钮小部件取消绑定'<Button-1>',但没有效果。

我在Windows上使用32位Python 2.7.9。

0 个答案:

没有答案