我一直试图找到如何在PySDL2中创建一个无边框窗口(一个不是使用典型的窗口边框创建的)。
我已经查看了我可以在网上找到哪些资源,但是无法确定任何可以告诉我如何实现这一目标的资源,尽管显然可能。
研究
This link表示在大多数情况下,您的窗口周围都有边框和标题栏,但从未详细说明如何操作它。
我查看了一些API references for SDL's Window,并没有看到边界可以被操纵。 (没有说它们不能,只是没有提到)
尽管没有找到任何与PySDL2相关的内容,但我确实找到了at this link:
sdl.setWindowBordered(window, bordered)
Sets the border state of a window.
不幸的是,我无法在my simple example script内完成此工作。
感谢您的期待!
答案 0 :(得分:1)
您需要确保拥有标志:SDL_WINDOW_BORDERLESS
。
完整示例:
import sys
import sdl2.ext
sdl2.ext.init()
window = sdl2.ext.Window("Hello World!", size=(640, 480), flags=sdl2.SDL_WINDOW_BORDERLESS)
window.show()
processor = sdl2.ext.TestEventProcessor()
processor.run(window)
稍微修改你的脚本:
import sys
import sdl2.ext
def run():
sdl2.ext.init()
W = sdl2.ext.Window("Default",size=(400,300), flags=sdl2.SDL_WINDOW_BORDERLESS)
W.show()
running = True
while running:
events = sdl2.ext.get_events()
for event in events:
if event.type == sdl2.SDL_QUIT:
running = False
break
W.refresh()
return 0
if __name__ == "__main__":
sys.exit(run())