In this article we will see how we can set exclusive mouse for the window in PYGLET module in python. Pyglet is easy to use but powerful library for developing visually rich GUI applications like games, multimedia etc. A window is a “heavyweight” object occupying operating system resources. Windows may appear as floating regions or can be set to fill an entire screen (fullscreen). Exclusive mouse hide the mouse cursor and direct all mouse events to this window. When enabled, this feature prevents the mouse leaving the window. It is useful for certain styles of games that require complete control of the mouse. The position of the mouse as reported in subsequent events is meaningless when exclusive mouse is enabled; you should only use the relative motion parameters dx and dy. We can create a window with the help of command given below
pyglet.window.Window(width, height, title)
In order to create window we use set_exclusive_mouse method with the window object Syntax : window.set_exclusive_mouse(True) Argument : It takes bool as argument Return : It returns None
Below is the implementation
Python3
# 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 = "Geeksforneveropen" # creating a window window = pyglet.window.Window(width, height, title) # text text = "neveropen" # creating a label with font = times roman # font size = 36 # aligning it to the center 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' ) # 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: # close the window window.close() # setting exclusive mouse window.set_exclusive_mouse( True ) # start running the application pyglet.app.run() |
Output :