将控制台打印到 pyglet 窗口

问题描述 投票:0回答:1

我有一个功能程序,它使用终端来打印事件、接受输入等。 我想将所有这些重新路由到 pyglet 窗口。 这可能吗?如果可以,怎么做? 非常感谢您提前回答。

我看到了一个类似的问题,解决方案(使用不同的图形用户界面)很简单: 打印 = gui.text

text terminal pyglet
1个回答
0
投票

要打印事件信息,请创建一个 Label 对象,然后在事件处理程序中更新其文本。

这是一个最小的示例,它将在屏幕底部打印鼠标单击事件详细信息:

import pyglet
from pyglet.window import mouse

window = pyglet.window.Window()

log_label = pyglet.text.Label(
    "",
    font_size=16,
    x=0,
    y=0,
    anchor_x="left",
    anchor_y="bottom",
)


@window.event
def on_mouse_press(x, y, button, modifiers):
    log_label.text = f"Mouse {button} was pressed at ({x},{y})"


@window.event
def on_draw():
    window.clear()
    log_label.draw()

pyglet.app.run()
© www.soinside.com 2019 - 2024. All rights reserved.