Python 在PyGTK中嵌入MPlayer时避免视觉瑕疵

Python 在PyGTK中嵌入MPlayer时避免视觉瑕疵,python,pygtk,mplayer,visual-artifacts,Python,Pygtk,Mplayer,Visual Artifacts,我正在尝试创建一个基本的PyGTK应用程序来在窗口中嵌入MPlayer(因为它不能很好地与平铺WM一起工作,我喜欢) 我将把我的代码放在这篇文章的最后,但基本上我的设置目前涉及到一个包含DrawingArea的窗口,我使用“-wid”命令行选项将MPlayer嵌入其中 我遇到的问题是,在调整大小时,我会得到以下几种视觉效果(请参见红色框内): 我尝试在发生配置事件时在DrawingArea上调用queue_draw(),但这似乎没有效果。有人有什么想法吗 我的完整代码如下:(命令行用法是“$0

我正在尝试创建一个基本的PyGTK应用程序来在窗口中嵌入MPlayer(因为它不能很好地与平铺WM一起工作,我喜欢)

我将把我的代码放在这篇文章的最后,但基本上我的设置目前涉及到一个包含DrawingArea的窗口,我使用“-wid”命令行选项将MPlayer嵌入其中

我遇到的问题是,在调整大小时,我会得到以下几种视觉效果(请参见红色框内):

我尝试在发生配置事件时在DrawingArea上调用queue_draw(),但这似乎没有效果。有人有什么想法吗

我的完整代码如下:(命令行用法是“$0[vid]”)

解决了这个问题——解决办法是添加

-vo gl
调用mplayer。就是我换了

cmd = string.split("mplayer -slave -wid %d -input file=%s" % \
        (self.draw.window.xid, self.fifo))

在上面的代码中,现在它可以正确地调整大小

这个命令行选项实际上已经消除了我想首先创建这个包装器脚本的全部原因(即,为了在dwm中使用它,将mplayer嵌入到一个窗口中,黑色边框占用了电影本身不需要的空间),但我想这个补丁对于出于其他原因想要嵌入mplayer的其他人仍然有用

cmd = string.split("mplayer -slave -wid %d -input file=%s" % \
        (self.draw.window.xid, self.fifo))
cmd = string.split("mplayer -slave -vo gl -wid %d -input file=%s" % \
        (self.draw.window.xid, self.fifo))