如何将Shift-Click选项添加到按钮

时间:2019-08-25 13:37:48

标签: python python-3.x tkinter

我是Python(特别是GUI Python)的新手,并试图弄清楚如何向按钮添加两个功能。

例如,我希望用户能够: 通常单击按钮,然后按钮执行功能一 按住Shift键的同时单击按钮和按钮以执行第二个功能。

我将tkinter用于GUI。

按钮代码:

感谢您的帮助。

b1 = Button(window, text = "Import", width = 12, command = functionOne)
b1.grid(row = 0, column = 2)

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作-无需设置按钮的command关键字参数,只需将按钮捕获的不同事件绑定到不同的函数即可。这是有关events and binding events的更多信息。

import tkinter as tk


class Application(tk.Tk):

    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        self.title("Test")
        self.geometry("128x32")
        self.resizable(width=False, height=False)

        self.button = tk.Button(self, text="Try Me")
        self.button.pack()

        self.button.bind("<Button-1>", self.normal_click)
        self.button.bind("<Shift-Button-1>", self.shift_click)

    def normal_click(self, event):
        print("Normal Click")

    def shift_click(self, event):
        print("Shift Click")


def main():

    application = Application()
    application.mainloop()

    return 0


if __name__ == "__main__":
    import sys
    sys.exit(main())