我正在使用带有 gtk 的 python。我想下载一个文件,当这发生时,我在窗口上绘制了一个动画 gif。但是每次下载开始时,gif都会冻结。我认为 gobject 调用应该解决这个问题,但似乎不像。
电话是:
在 gui 类中
...
gobject.timeout_add(3000, self.load)
gtk.main()
和加载功能:
def load(self):
ul = urllib2.open('http://xxxx/')
data = ul.read()
while gtk.events_pending():
gtk.main_iteration()
return True
每次调用加载 gui 堆栈。有什么办法可以做得更好吗?
原始代码:
self.opener = urllib2.build_opener()
self.opener.addheaders.append(('Cookie', self.cookie))
self.state = self.opener.open('http://'+gd_adress+'/state.cst?Lang=en')
self.state_data = self.state.read()