Window
Window是pyglet显示内容的主要位置,Window可以使用pyglet.window.Window()
创建,在默认情况下,将自动创建一个\(640 \times 480\)的窗口,并且建立一个全部采用默认值的OpenGL上下文。可以通过给定两个整型值来改变窗口的大小。
Window在创建的时候可以使用screen
和display
参数指定其要显示到的屏幕和显示组。并且可以通过fullscreen
参数来设定是否要全屏显示。
在应用运行过程中可以通过window.set_fullscreen()
方法来改变窗口的全屏状态。
窗口在应用运行期间的大小是可变的,改变窗口大小的方法有以下几种。一是通过在创建窗口时设定resizeable=True
来使窗口成为可变大小窗口来允许用户自行调整窗口的大小。二是通过window.set_size(width, height)
方法来设定窗口的大小。
除了窗口的大小可以重设以外,还可以通过window.set_location(x, y)
来该笔安窗口在屏幕上的显示位置。
除了大小与位置之外,窗口还可以在创建实例时通过style
、caption
和来icon
来设置窗口的显示样式、标题和图标。pyglet支持的窗口样式主要有三种:
WINDOW_STYLE_DEFAULT
,默认窗口样式。WINDOW_STYLE_DIALOG
,对话框样式,只能关闭,不能最大化。WINDOW_STYLE_TOOL
,工具窗口样式,没有图标,只能关闭,并且标题栏较窄。WINDOW_STYLE_BORDERLESS
,无框窗口。
要在窗口上设置图标有一定的要求,首先要求是一张正方形的图片,其次在不同的系统中,图片的尺寸大小也不相同。
- Windows系统中,使用宽高为16和32像素的图片。
- macOS系统中,使用宽高为16、24、32、48、72和128的图片。
- Linux系统没有特殊要求,一般与Windows系统采用相同配置。
前面最小应用示例中的@window.event
修饰器表示其修饰的函数是一个窗口事件处理函数。事件处理函数的函数名都是固定的,表示响应指定的事件。比如on_draw()
就表示响应绘制画面事件,其他可以使用的事件还有on_resize()
、on_key_press()
、on_mouse_press()
等,可以在使用时参考pyglet的文档。