键盘和鼠标捕获
整理 PySimpleGUI 官方网站
原文google翻译过来的
https://pysimplegui.readthedocs.io/en/latest/
您将找到有关Elements的信息,所有其他类和函数都位于本手册结尾处。它们位于自述文件的大部分中,按字母顺序排列以便于查找。本节对Elements的讨论旨在教您如何工作。另一部分包含详细的呼叫签名和参数定义。
注意-键盘捕获当前在端口之间唯一地格式化。对于基本字母和数字,没有太大的区别,但是当您开始添加Shift和Control或特殊键时,它们的行为都略有不同。最好的选择是简单地打印返回给您的内容,以确定特定端口的格式。
从版本2.10开始,您可以捕获键盘按键和鼠标滚轮事件。键盘键可用于例如检测PDF查看器的上一页和下一页键。要使用此功能,Window调用return_keyboard_events
中有一个布尔设置,该设置被设置为True,以使键和按钮一起返回。
按键和滚轮事件的返回方式与按钮完全相同。
对于滚轮事件,如果将鼠标向上滚动,则button
文本为MouseWheel:Up
。对于向下滚动,返回的文本是MouseWheel:Down
键盘按键返回2种按键事件。对于“普通”键(a,b,c等),将返回代表该键的单个字符。修饰符和特殊键作为字符串返回,分为2部分:
Key Sym:Key Code
键Sym是一个字符串,例如’Control_L’。密钥代码是该密钥的数字表示。按下左控制键将返回值’Control_L:17’
import PySimpleGUI as sg
# Recipe for getting keys, one at a time as they are released
# If want to use the space bar, then be sure and disable the "default focus"
#获取密钥的方法,每次释放一次
#如果要使用空格键,请确保并禁用“默认焦点”
text_elem = sg.Text(size=(18, 1))
layout = [[sg.Text("Press a key or scroll mouse")],
[text_elem],
[sg.Button("OK")]]
window = sg.Window("Keyboard Test", layout, return_keyboard_events=True, use_default_focus=False)
# ---===--- Loop taking in user input --- #
while True:
event, value = window.read()
if event == "OK" or event is None:
print(event, "exiting")
break
text_elem.update(event)
您要关闭默认焦点,以便在按空格键时不会选择任何按钮。