Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
804 views
in Technique[技术] by (71.8m points)

simple key pressed event in python tkinter app

I'm new to python and Tkinter. I'm looking for a small GUI app which contains a textbox on it and if any change occurs in the textbox content then it fires up an event for me to do something. I tried but failed to write such an event.

Any help will be appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use bind the <Key> event to a callback like this:

import Tkinter as tk

class MyApp(object):
    def __init__(self, master):
        self.text = tk.Text(master)
        self.text.bind('<Key>', self.callback)
        self.text.pack()
        self.text.focus()

    def callback(self, event):
        print('{k!r}'.format(k = event.char))

root = tk.Tk()
app = MyApp(root)
root.mainloop()

(Like Steven Rumbalski, I'm not quite sure what you intended by 'textbox'. Happily, the above code will still work if you change tk.Text to tk.Entry.)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...