Pau*_*zer 13 python sdl kde window-management pysdl2
当通过pysdl2与sdl2一起玩时,我注意到了一个奇怪的副作用,即一旦sdl脚本运行了不相关的窗口,这些窗口通常在移动时会变成半透明,现在却变得不透明。
如果不是因为the的感觉表明我在做根本上是错误的事情,我不会那么介意。
有人能启发我这里发生了什么吗?
这是我的脚本:
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()
Run Code Online (Sandbox Code Playgroud)
这是一个前后屏幕抓取:
KDE 5.45.0没有运行sdl脚本的桌面的“系统设置”窗口,显示了相关的设置桌面Effects>Translucency。注意,窗口是半透明的,因为在拍照时我正在拖动它。
相同,但运行的是sdl脚本。请注意,尽管我大力拖动窗口,但窗口仍然顽固不透明。
我也可以使用 Unity 在我的 Ubuntu 桌面上重现这个问题,所以这绝对不是你的 KDE 桌面的问题。我认为这是 pysdl2 中的一个错误,这个解决方案应该是一个临时解决方法,直到它得到修复,但与此同时,您可以将其添加到 while 循环中:
window.get_surface()
Run Code Online (Sandbox Code Playgroud)
该问题已在此处报告:https ://github.com/marcusva/py-sdl2/issues/139
| 归档时间: |
|
| 查看次数: |
286 次 |
| 最近记录: |