我正在尝试读取一些图片(后续打算对它们进行一些操作),当图片被读入内存时,我想要显示一个动态的 '.gif' 图片。为此,我必须使用线程。现在出现了错误:
python: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
有时会出现错误:
python: Fatal IO error 0 (Success) on X server :0.0.
(是的,错误信息几乎交替更改)我不知道为什么会出现这个错误以及如何将其删除。
import wx
from wx import animate
import thread
import os
class AniGif(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title, size=(300, 300))
buttonOk = wx.Button(self, id=3, label="Ok", pos=(75, 50), size=(50, 50))
self.Bind(wx.EVT_BUTTON, self.OnClick, id=3)
def OnClick(self, event) :
clock = "loading.gif"
showclock = wx.animate.GIFAnimationCtrl(self, -1, clock)
showclock.Play()
thread.start_new_thread(grabImages, ( ))
def grabImages():
global dirim
dirim = {}
path = './images/soccer/'
listing = os.listdir(path)
for infile in listing:
if len(infile)>4 and infile[-4:]=='.jpg' :
print path+infile
dirim[infile]=wx.Bitmap(path+infile)
app = wx.App()
dia = AniGif(None, -1, "Ani Gif")
dia.ShowModal()
dia.Destroy()
app.MainLoop()
如果我替换这一行
dirim[infile]=wx.Bitmap(path+infile)
附加虚线:
dirim[infile]=infile
它工作得很好,没有错误。
如果我替换这一行
thread.start_new_thread(grabImages, ( ))
使用类似以下的东西:
grabImages()
它很好地运行着,没有错误。唯一的问题是我无法显示动画gif图像。
我尝试了删除~ / .gconf / desktop / gnome / peripherals,如链接中由joaquin提到的那样。它无效...
我还尝试了“xhost +”。我在网络上找到它。仍然没有成功。
请告诉我这段代码发生了什么,并建议一个解决方案。我正在使用Ubuntu 10.04操作系统。
目录权限为:
drwxr-xr-x images
drwxr-xr-x soccer
Python版本的详细信息如下: Python 2.6.5 (r265:79063, 2010年4月16日, 13:09:56) [GCC 4.4.3] 在linux2上运行