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

糖果发光

我以这样一种方式总结了脚本,它只显示了显示我的问题所必需的内容简而言之,我想将globally回调函数绑定到appbutton中的所有类型小部件

class Frame_1(Frame):
    def__init__(self,master, **kwargs):
        super().__init__(master, **kwargs)
        self.btn_0 = Button(self, text='Press 10')
        self.btn_0 .pack() #...

        # links that I would like to disappear 
        # and replace with a global link that only reaches button type widgets
        self.btn_0 .bind('<ButtonPress>', self.master.press)
        self.btn_0 .bind('<ButtonRelease>', self.master.release)


class Frame_2(Frame):
    def__init__(self,master, **kwargs):
        super().__init__(master, **kwargs)
        self.btn_0 = Button(self, text='Press 10')
        self.btn_0 .pack() #....
        self.btn_0 .bind('<ButtonPress>', self.master.press)
        self.btn_0 .bind('<ButtonRelease>', self.master.release)


class Controller(Frame):
    def__init__(self,master, **kwargs):
        super().__init__(master, **kwargs)
        self.frm1 = Frame_1(self, bg='blue')
        self.frm1 .pack()
        self.frm2 = Frame_2(self, bg='green')
        self.frm2 .pack()

    def press(self, e):
        print('press')
    def release(self, e):
        print('release')
        

root=Tk()
app=Controller(root)
app.pack()
root.mainloop()
布莱恩奥克利

Tkinter 提供了一种bind_class方法,允许您绑定到小部件类而不是单个小部件。在您的情况下,课程将是Button.

您的代码可能如下所示:

root=Tk()
app=Controller(root)

root.bind_class("Button", "<ButtonPress-1>", app.press)
root.bind_class("Button", "<ButtonRelease-1>", app.release)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

在 python tkinter 中运行绑定到小部件的函数

如何保持小部件在Tkinter中居中?

如何将Tkinter Text小部件中的图像绑定到事件?

如何从 tkinter 中的函数访问 Entry 小部件内的文本?

如何在tkinter中的输入小部件中输出结果

将文本插入到 python tkinter 文本小部件中

无法销毁由 tkinter 中的函数创建的小部件

在 tkinter 标签小部件中显示函数的输出

如何在python类中引用Tkinter小部件

Python Tkinter-如何在Canvas中包含小部件?

如何在Tkinter中垂直居中小部件?

如何在Tkinter文本小部件中创建“加载轮”?

如何防止Tkinter Python中的浮动小部件

如何在 tkinter 中自動包裝小部件?

如何更改条目小部件 tkinter 中的文本

如何防止小部件在 Tkinter 中超出 Window?

如何从 tkinter 中的条目小部件返回用户输入

如何在 tkinter 的文本小部件中設置值?

如何从索引中获取 tkinter 文本小部件坐标

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

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

如何在Python中的Tkinter的小部件上使用Tcl / Tk绑定函数?

如何将文件位置存储到条目小部件中-Tkinter

Tkinter中的小部件验证

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

如何根据用户输入在 tkinter 中创建动态条目小部件并将这些条目小部件的输入存储在列表中

tkinter - 将不同的 <Enter> 事件绑定到 Treeview 小部件中的每一行

Python Tkinter绑定子小部件