我试图在单击鼠标后使用Pyglet将文本插入到窗口中。 下面的代码创建了窗口,当我单击屏幕时将打印,但未将文本添加到屏幕。
有什么想法吗?
谢谢。
class App extends Component {
render() {
return (
<BrowserRouter>
{/* ... */}
</BrowserRouter>
);
}
}
答案 0 :(得分:1)
我只是重新排列了一下代码,在窗口类中移动了鼠标按下事件。标签以无开始,当按下鼠标左键时,标签将成为标签对象。在draw方法中添加了一个简单的if检查,以便仅在标签不为None时才绘制标签。现在就可以了。
import pyglet
from pyglet.gl import *
from pyglet.window import mouse
class Drainage_Window(pyglet.window.Window):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.set_minimum_size(300, 300)
self.label = None
def on_mouse_press(self, x, y, button, modifiers):
if button == mouse.LEFT:
self.label = pyglet.text.Label('Click!',
font_name='Times New Roman',
font_size=16,
x=x, y=y,
anchor_x='center', anchor_y='center')
def on_draw(self):
self.clear()
if self.label:
self.label.draw()
if __name__ == '__main__':
window = Drainage_Window(width=1920 // 4, height=1080//4,
caption="Drainage Network", resizable=True)
glClearColor(0.7, 0.7, 1, 1)
pyglet.app.run()