跳到主要内容

KeyboardEvent

KeyboardEvent 类具有以下属性:

alt

指示是否按下了逻辑上的 ALT 修饰键,无论它位于键盘的哪个侧面。例如,AltOption

类型为 bool

ctrl

指示是否按下了逻辑上的 CTRL 修饰键,无论它位于键盘的哪个侧面。例如,Ctrl

类型为 bool

key

被按下的键的文本表示,例如 AEnterF5

类型为 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)