PySDL2:创建无边框窗口

时间:2014-06-28 04:00:12

标签: python borderless pysdl2

我一直试图找到如何在PySDL2中创建一个无边框窗口(一个不是使用典型的窗口边框创建的)。

我已经查看了我可以在网上找到哪些资源,但是无法确定任何可以告诉我如何实现这一目标的资源,尽管显然可能


研究

  1. This link表示在大多数情况下,您的窗口周围都有边框和标题栏,但从未详细说明如何操作它。

  2. 我查看了一些API references for SDL's Window,并没有看到边界可以被操纵。 (没有说它们不能,只是没有提到)


  3. 尽管没有找到任何与PySDL2相关的内容,但我确实找到了at this link

    sdl.setWindowBordered(window, bordered)
    Sets the border state of a window.
    

    不幸的是,我无法在my simple example script内完成此工作。

    感谢您的期待!

1 个答案:

答案 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())