[英]XIO: fatal IO error 11 (Resource temporarily unavailable) on X server “:0” after 235 requests (235 known processed) with 0 events remaining
[英]python: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0
我正在尝试阅读一些图像(后来打算对它们执行某些任务),同时将图像读入内存。 我想显示一个动画的'.gif'图片。 为此我不得不使用Threads。 现在它给出错误:
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中/桌面/ GNOME /外围设备如提到的链接通过给华金 。 它不起作用..我也试过'xhost +'。 我从网上的某个地方找到了。 仍然没有成功。
请告诉我们这段代码中发生了什么..并建议我使用ubuntu 10.04操作系统的解决方案。 目录权限是:
drwxr-xr-x images
drwxr-xr-x soccer
Python verion的细节是:关于linux2的Python 2.6.5(r265:79063,2010年4月16日,13:09:56)[GCC 4.4.3]
你的代码在win7中非常适合我,wxpython 2.8.12.1和python 2.6.7运行在Spe版本0.8.4.i上,当图像位于脚本目录中时(我使用了我自己的动画gif和png)。
除了wx和use之外,我需要的唯一更改是导入animate( from wx import animate
)
showclock = animate.GIFAnimationCtrl(self, -1, clock)
代替
showclock = wx.animate.GIFAnimationCtrl(self, -1, clock)
编辑:有几个人在这里和这里和这里有同样的错误消息。 最后一个让我觉得它可能与在linux中使用带有gui框架的线程有关 ( 另见相关内容 )。 你应该谷歌错误字符串,以查看是否可以获得更多信息或在错误字符串作为主题的SO上询问特定问题。 UF! 已经有一个了 !
不知道它是否与您的问题有关,但您应该在创建wxApp之后实例化对话框并调用其ShowModal:
class App(wx.App):
def OnInit(self):
dia = AniGif(None, -1, "Ani Gif")
try:
dia.ShowModal()
finally:
dia.Destroy()
return True
App(0).MainLoop()
==编辑==
我没有看到你从另一个线程实例化了一个wx.Bitmap。 这不好。 试试这个:
def grabImages():
global dirim
dirim = {}
def addToDict(key, path):
dirim[key] = wx.Bitmap(path)
path = './images/soccer/'
listing = os.listdir(path)
for infile in listing:
if len(infile)>4 and infile[-4:]=='.jpg' :
print path+infile
wx.CallAfter(addToDict, infile, path+infile)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.