PYGLET – 文本运动事件
在本文中,我们将看到如何在Python的 PYGLET 模块中触发文本运动事件。 Pyglet 是易于使用但功能强大的库,用于开发视觉丰富的 GUI 应用程序,如游戏、多媒体等。窗口是占用操作系统资源的“重量级”对象。 Windows 可能显示为浮动区域,也可以设置为填充整个屏幕(全屏)。通常在 on_key_press() 和 on_key_release() 之前调用,但如果按键被帮助按下(按键重复),也可以多次调用.我们应该始终使用这种方法来移动文本输入光标(插入符号),因为不同的平台具有不同的默认键盘映射,并且可以正确处理重复键。
我们可以在下面给出的命令的帮助下创建一个窗口
pyglet.window.Window(width, height, title)
下面是 on text 动作的语法,当这个事件被触发时这个方法被调用
@window.event
def on_text_motion(motion):
print("Arrow Key pressed")
Below are the list of motion this event covers
MOTION_UP
MOTION_RIGHT
MOTION_DOWN
MOTION_LEFT
MOTION_NEXT_WORD
MOTION_PREVIOUS_WORD
MOTION_BEGINNING_OF_LINE
MOTION_END_OF_LINE
MOTION_NEXT_PAGE
MOTION_PREVIOUS_PAGE
MOTION_BEGINNING_OF_FILE
MOTION_END_OF_FILE
MOTION_BACKSPACE
MOTION_DELETE
下面是实现
# importing pyglet module
import pyglet
import pyglet.window.key
# width of window
width = 500
# height of window
height = 500
# caption i.e title of the window
title = "Geeksforgeeks"
# creating a window
window = pyglet.window.Window(width, height, title)
# text
text = "GeeksforGeeks"
# creating a label with font = times roman
# font size = 36
# aligning it to the centre
label = pyglet.text.Label(text,
font_name ='Times New Roman',
font_size = 36,
x = window.width//2, y = window.height//2,
anchor_x ='center', anchor_y ='center')
new_label = pyglet.text.Label(text,
font_name ='Times New Roman',
font_size = 10,
x = 25, y = 25)
# on draw event
@window.event
def on_draw():
# clearing the window
window.clear()
# drawing the label on the window
label.draw()
# key press event
@window.event
def on_key_press(symbol, modifier):
# key "C" get press
if symbol == pyglet.window.key.C:
print("Key C is pressed")
# on text motion event
@window.event
def on_text_motion(motion):
# prinitng message
print(motion)
# image for icon
img = image = pyglet.resource.image("logo.png")
# setting image as icon
window.set_icon(img)
# start running the application
pyglet.app.run()
输出 :
当我们按箭头键时,将打印此消息
65362
65362
65362
65363
65363
65363
65361
65361
65361
65364