我正在使用tkinter制作python应用程序,我需要让用户 Select 他们将使用哪个键来执行某些特定操作.然后我想制作一个按钮,当用户单击它时,他们在键盘和鼠标中按下的下一个键将被检测到,然后它将被绑定到该特定操作.如何让用户按下该键?

推荐答案

要扩展@darthmorf的答案以检测鼠标按钮事件,您需要为鼠标按钮添加一个单独的事件绑定,其中'<Button>'个事件将在按下any个鼠标按钮时触发,或者'<Button-1>',(或2或3),当按下特定按钮时会触发(其中"1"是鼠标左键,"2"是右键,"3"是中间键……尽管我认为在Mac上,右键和中间键是互换的).

import tkinter as tk

root = tk.Tk()


def on_event(event):
    text = event.char if event.num == '??' else event.num
    label = tk.Label(root, text=text)
    label.place(x=50, y=50)


root.bind('<Key>', on_event)
root.bind('<Button>', on_event)
root.mainloop()

Python相关问答推荐

将嵌套列表的字典转换为数据框中的行

从单个列创建多个列并按pandas分组

在Pandas框架中截短至固定数量的列

Python在tuple上操作不会通过整个单词匹配

线性模型PanelOLS和statmodels OLS之间的区别

试图找到Python方法来部分填充numpy数组

Gekko:Spring-Mass系统的参数识别

如何访问所有文件,例如环境变量

按顺序合并2个词典列表

如何使用数组的最小条目拆分数组

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

梯度下降:简化要素集的运行时间比原始要素集长

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

递归访问嵌套字典中的元素值

如何根据一列的值有条件地 Select 前N个组,然后按两列分组?

* 动态地 * 修饰Python中的递归函数

如何在BeautifulSoup/CSS Select 器中处理regex?

合并与拼接并举

如何找出Pandas 图中的连续空值(NaN)?

Pandas—堆栈多索引头,但不包括第一列