0

考虑以下代码:

#!/usr/bin/env python 

from Xlib.display import Display
import os

def main():
        disp = Display() # connect to display
        while True:
                print("1")
                event = disp.next_event()
                print("2")
                if event.type == Xlib.protocol.event.KeyPress:
                        print("keypress!")

if __name__ == '__main__':
        main()

此代码输出1但不输出2。它似乎挂在显示连接上。为什么会这样?谢谢你。

4

1 回答 1

1

next_event() 方法是一种阻塞方法,请参阅文档

返回事件队列中的下一个事件。如果事件队列为空,则阻塞直到从网络读取事件,然后返回该事件。

如果它被阻止,那是因为还没有事件到达。

于 2012-08-17T16:07:39.447 回答