首页 > 解决方案 > 如何将 Shift-Click 选项添加到按钮

问题描述

我是 Python 新手,尤其是 GUI Python,我正在尝试弄清楚如何向我的按钮添加两个函数。

例如,我希望用户能够: 正常单击按钮和按钮执行功能一 shift 单击按钮和按钮执行功能二。

我正在为 GUI 使用 tkinter。

按钮代码:

任何帮助表示赞赏。

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

标签: pythonpython-3.xtkinter

解决方案


您可以这样做 - 无需设置按钮的command关键字参数,只需将按钮捕获的不同事件绑定到不同的函数即可。这是有关事件和绑定事件的更多信息。

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

推荐阅读