KeyboardEvent
KeyboardEvent
类具有以下属性:
alt
指示是否按下了逻辑上的 ALT 修饰键,无论它位于键盘的哪个侧面。例如,Alt
或 Option
。
类型为 bool
。
ctrl
指示是否按下了逻辑上的 CTRL 修饰键,无论它位于键盘的哪个侧面。例如,Ctrl
。
类型为 bool
。
key
被按下的键的文本表示,例如 A
、Enter
或 F5
。
类型为 str
。
meta
指示是否按下了逻辑上的 META 修饰键,无论它位于键盘的哪个侧面。例如,Command
。
类型为 bool
。
shift
指示是否按下了 Shift
键。
类型为 bool
。
使用示例
import flet as ft
class ButtonControl(ft.Container):
def __init__(self, text):
super().__init__()
self.content = ft.Text(text)
self.border = ft.border.all(1, ft.colors.BLACK54)
self.border_radius = 3
self.bgcolor = "0x09000000"
self.padding = 10
self.visible = False
def main(page: ft.Page):
def on_keyboard(e: ft.KeyboardEvent):
key.content.value = e.key
key.visible = True
shift.visible = e.shift
ctrl.visible = e.ctrl
alt.visible = e.alt
meta.visible = e.meta
page.update()
page.on_keyboard_event = on_keyboard
key = ButtonControl("")
shift = ButtonControl("Shift")
ctrl = ButtonControl("Control")
alt = ButtonControl("Alt")
meta = ButtonControl("Meta")
page.spacing = 50
page.vertical_alignment = "center"
page.horizontal_alignment = "center"
page.add(
ft.Text(
"按下任何键,并结合使用 CTRL、ALT、SHIFT 和 META 键..."
),
ft.Row([key, shift, ctrl, alt, meta], alignment=ft.MainAxisAlignment.CENTER),
)
ft.app(main)