Python Tkinter:文本框回车命令

2 投票
1 回答
1267 浏览
提问于 2025-04-17 18:47

我想知道怎么在用户在文本框里按下回车键时,像按下按钮一样触发 FireonEnter() 这个函数,就像 FireonPress() 一样。

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

    [...]

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

撰写回答