2

如果用户在文本字段中按 Enter,我如何像 FireonPress() 一样触发 FireonEnter()?

from Tkinter import *

class Application(Frame):
    def FireonEnter(self):
        echo 'Enter pressed';

    def FireonPress(self):
        echo 'Button pressed';


    def createWidgets(self):
        self.Select = Button(self)
        self.Select["text"] = "OK",
        self.Select["width"] = "10",
        self.Select["command"] = self.FireonPress           
        self.Select.grid() 

        self.outputbox = Text(self) 
        self.outputbox["width"] = "20",
        self.outputbox["height"] = "1",           
        self.outputbox.grid() 

    [...]
4

1 回答 1

4

你可以使用

    self.outputbox.bind('<Return>', self.FireonEnter)

import Tkinter as tk


class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.createWidgets()

    def createWidgets(self):
        self.outputbox = tk.Text()
        self.outputbox["width"] = 20
        self.outputbox["height"] = 1
        self.outputbox.grid()
        self.outputbox.bind('<Return>', self.FireonEnter)

    def FireonEnter(self, event):
        print('Enter pressed')

root = tk.Tk()
app = Application(root)
root.mainloop()
于 2013-03-12T09:15:47.090 回答