python tkinter应用程序中的简单按键事件 [英] simple key pressed event in python tkinter app

查看:40
本文介绍了python tkinter应用程序中的简单按键事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 Python 和 Tkinter 的新手.我正在寻找一个小的 GUI 应用程序,它包含一个文本框,如果文本框内容发生任何变化,它就会触发一个事件让我做一些事情.我尝试过但未能编写这样的事件.

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.

任何帮助将不胜感激.

推荐答案

您可以使用绑定 事件 到这样的回调:

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()

(就像 Steven Rumbalski 一样,我不太确定您对文本框"的意图.令人高兴的是,如果您将 tk.Text 更改为 tk.Entry,上述代码仍然有效.)

(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.)

这篇关于python tkinter应用程序中的简单按键事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆