如何将Enter键绑定到tkinter中的函数?

幽灵般:

我是在MacOS上运行的Python入门自学者。

我正在tkinter中使用文本解析器GUI编写程序,在其中您可以在Entry窗口小部件中键入命令,然后单击Button窗口小部件,这将触发我的parse()函数等,并将结果打印为Text窗口小部件(文本冒险风格)。

>绕开按钮

戴夫,我不能让你那样做。

我正在尝试寻找一种方法来摆脱Button每次用户发出命令时都要拖拉鼠标的麻烦,但是结果比我想的要难。

我猜正确的代码是self.bind('<Return>', self.parse())什么样子但是我什至不知道放在哪里。root__init__parse(),和create_widgets()不想要它。

需要明确的是,任何人都应该在prog中按回车键的唯一原因就是要触发parse(),因此不需要Entry专门支持该小部件。任何可行的地方都很好。

针对7stud,基本格式为:

from tkinter import *
import tkinter.font, random, re

class Application(Frame):
    
    def __init__(self, master):
        Frame.__init__(self, master, ...)
        self.grid()
        self.create_widgets()
        self.start()

        
    def parse(self):
        ...


    def create_widgets(self):
        
        ...

        self.submit = Button(self, text= "Submit Command.", command= self.parse, ...)
        self.submit.grid(...)

        
root = Tk()
root.bind('<Return>', self.parse)

app = Application(root)

root.mainloop()
7stud:

尝试运行以下程序。您只需要确保在单击“返回”时您的窗口具有焦点即可–要确保它具有焦点,请先单击几次按钮,直到看到一些输出,然后再单击“其他”,再单击“返回”。

import tkinter as tk

root = tk.Tk()
root.geometry("300x200")

def func(event):
    print("You hit return.")
root.bind('<Return>', func)

def onclick():
    print("You clicked the button")

button = tk.Button(root, text="click me", command=onclick)
button.pack()

root.mainloop()

然后,在同时使用button clickhitting Return调用相同的函数时,您只需稍作调整-因为命令函数必须是不带参数的函数,而绑定函数需要是带一个参数的函数(事件对象):

import tkinter as tk

root = tk.Tk()
root.geometry("300x200")

def func(event):
    print("You hit return.")

def onclick(event=None):
    print("You clicked the button")

root.bind('<Return>', onclick)

button = tk.Button(root, text="click me", command=onclick)
button.pack()

root.mainloop()

或者,您可以放弃使用按钮的命令参数,而使用bind()将onclick函数附加到按钮,这意味着该函数需要采用一个参数-就像使用Return一样:

import tkinter as tk

root = tk.Tk()
root.geometry("300x200")

def func(event):
    print("You hit return.")

def onclick(event):
    print("You clicked the button")

root.bind('<Return>', onclick)

button = tk.Button(root, text="click me")
button.bind('<Button-1>', onclick)
button.pack()

root.mainloop()

这是在类设置中:

import tkinter as tk

class Application(tk.Frame):
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("300x200")

        tk.Frame.__init__(self, self.root)
        self.create_widgets()

    def create_widgets(self):
        self.root.bind('<Return>', self.parse)
        self.grid()

        self.submit = tk.Button(self, text="Submit")
        self.submit.bind('<Button-1>', self.parse)
        self.submit.grid()

    def parse(self, event):
        print("You clicked?")

    def start(self):
        self.root.mainloop()


Application().start()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Enter键绑定到tkinter中的函数?

如何将Enter键绑定到Tkinter中的按钮

如何将“Enter”键绑定到 React js 中的某个函数?

如何将Tkinter destroy()绑定到Debian中的键?

如何将Enter键绑定到Rails中的link_to标记?

如何将功能键绑定到 tkinter 中的按钮?

在 Visual Code 编辑器中,如何将某个键绑定到哪些函数?

如何将函数绑定到可变大小列表中的 tkinter 小部件?

如何将退出绑定到键?

如何将键绑定到 JButton?

javafx:如何将Enter键绑定到按钮并单击事件时将其触发?

如何将int绑定到字典中的函数?

如何将接口绑定到 PySimpleGUI 中的函数

我如何将空格键绑定到.onkeypress(函数,空格键)

如何将 <"Return"> 键和按钮小部件绑定到 Tkinter 上的相同功能?

如何将函数绑定到对象?

如何将 `$this` 绑定到 PHP 函数?

我如何将Eclim显示器(:: ProjectProblems,:JavaCorrect等)上的<Enter>键重新绑定到“ o”键

如何将返回键绑定到框架/窗体本身上的函数

如何将回调函数全局绑定到 tkinter 中的小部件类型?

将按钮方法绑定到ENTER键

Tmux:如何将功能键绑定到命令?

如何将键组合绑定到方法?

如何将纯文本绑定到键

如何将AltGr +键绑定到符号?

如何将播放/暂停键绑定到Amarok?

如何将鼠标绑定到AHK语言的键?

如何将zsh中的键盘快捷键绑定到需要stdin的程序?

如何将一个键绑定到VSCode中的多个命令