在使用pysdl2玩耍时,我注意到了这种奇怪的副作用:一旦sdl脚本运行,通常会变得半透明的不相关窗口现在保持不透明。
如果不是因为这让我有一种困扰的感觉,我就不会介意这些了,因为这表明我可能做错了某些根本性的事情。
有谁能告诉我这里到底出了什么问题?
以下是我的脚本:
import sdl2
import sdl2.ext as se
import time
def main():
k = 2
event_buffer = (k * sdl2.SDL_Event)()
se.init()
window = se.Window("what the ?", size=(400, 300))
window.show()
while True:
window.refresh()
time.sleep(0.01)
sdl2.SDL_PumpEvents()
sdl2.SDL_PeepEvents(event_buffer, k, sdl2.SDL_GETEVENT,
sdl2.SDL_FIRSTEVENT, sdl2.SDL_LASTEVENT)
for event in event_buffer:
if not event.type:
continue
elif event.type == sdl2.SDL_QUIT:
se.quit()
break
else:
pass
event.type = 0
else:
continue
break
if __name__ == '__main__':
main()
这里有一个屏幕截图,分别是之前和之后的:
我的 KDE 5.45.0
桌面的“系统设置”窗口,在没有运行 sdl 脚本的情况下,显示相关设置桌面特效>透明度。请注意,当我拖动窗口时,窗口是半透明的。
相同的窗口但是在运行 sdl 脚本时。请注意,即使我大力拖动它,窗口仍然保持不透明。