Question: How to Prevent Tkinter Menu from Taking Keyboard Focus
woooee
woooee at gmail.com
Tue Oct 4 11:41:06 EDT 2011
Adding focus_set seems to work for me. What do want to do
differently?
import Tkinter
class demo:
def __init__(self, parent):
self._entry = Tkinter.Entry(width = 60)
self._suggestions = Tkinter.Menu(parent, tearoff = 0,
takefocus = 0)
self._entry.pack(padx = 20, pady = 20)
self._entry.bind('<Key>', self._suggest_text, add = '+')
self._entry.focus_set()
def _suggest_text(self, event):
curr = self._entry.get() + repr(event.char)[1]
x = self._entry.winfo_rootx()
y = self._entry.winfo_rooty()
y += self._entry.winfo_height()
try:
self._suggestions.delete(0, 'end')
self._suggestions.add_command(label = curr + '_1')
self._suggestions.add_command(label = curr + '_2')
self._suggestions.add_command(label = curr + '_3')
self._suggestions.add_command(label = curr + '_4')
self._suggestions.post(x, y)
finally:
self._suggestions.grab_release()
if __name__ == '__main__':
root = Tkinter.Tk()
root.title('A Problem')
demo(root)
root.mainloop()
More information about the Python-list
mailing list