Python 更改XWindow几何体

Python 更改XWindow几何体,python,linux,python-3.x,x11,ctypes,Python,Linux,Python 3.x,X11,Ctypes,我有两个程序,首先是一个XWindow,然后是它的xid,然后在第二个程序中,我想在该窗口(xid作为XWindow)上执行一些操作(例如更改大小、位置等)。我用蟒蛇3。有趣的是,XResizeWindow(display,xid,320240)返回..是..1,但当然窗口的几何结构与以前相同 xid = 2675429 #windowid.. X = cdll.LoadLibrary("libX11.so.6") display = X.XOpenDisplay(None) if displ

我有两个程序,首先是一个XWindow,然后是它的xid,然后在第二个程序中,我想在该窗口(xid作为XWindow)上执行一些操作(例如更改大小、位置等)。我用蟒蛇3。有趣的是,
XResizeWindow(display,xid,320240)
返回..是..1,但当然窗口的几何结构与以前相同

xid = 2675429 #windowid..
X = cdll.LoadLibrary("libX11.so.6")

display = X.XOpenDisplay(None)
if display == 0:
    sys.exit("Cannot open display.")

X.XResizeWindow(display, xid, 320, 240)
X.XCloseDisplay(display)

如前所述,在显示关闭之前,我必须调用XFlush()。现在可以了。

在关闭前添加XFlush()?哇,现在可以了。谢谢顺便说一句,我将把它作为一个答案发布。xlib缓冲传出的请求,因此如果没有xflush,您基本上可以连接到X,向缓冲区添加一些字节并退出(不发送任何内容)。此外,对于某些请求(如多点请求),xlib没有添加额外的请求,而是将数据(点)附加到以前的请求点数组中,从而节省了一些开销