wxpython在任务栏中的触摸图标上崩溃

wxpython在任务栏中的触摸图标上崩溃,wxpython,Wxpython,除了触摸底部栏上的图标(如果它是隐藏的)外,一切正常 在使用urllib2下载过程中发生 我不知道会发生什么,但可能是某个事件出错了?崩溃只发生在这部分代码中。似乎没有“处理”这件事的可能 应用程序屏幕截图:您问“可能会发生什么?”。可能发生的情况是,您的wx应用程序卡在循环或睡眠中,因此没有呈现任何内容,并且看起来没有响应 如果您想知道为什么您认为它被您发布的代码卡住了,那将是一件很有趣的事情。知道这是怎么回事也很有趣。。。在while-True循环期间,似乎没有任何一点可以让wx渲染更新。因

除了触摸底部栏上的图标(如果它是隐藏的)外,一切正常

在使用urllib2下载过程中发生

我不知道会发生什么,但可能是某个事件出错了?崩溃只发生在这部分代码中。似乎没有“处理”这件事的可能

应用程序屏幕截图:

您问“可能会发生什么?”。可能发生的情况是,您的wx应用程序卡在循环或睡眠中,因此没有呈现任何内容,并且看起来没有响应

如果您想知道为什么您认为它被您发布的代码卡住了,那将是一件很有趣的事情。知道这是怎么回事也很有趣。。。在while-True循环期间,似乎没有任何一点可以让wx渲染更新。因此,我不清楚您的状态更新是如何呈现的

只需说一句:如果您的代码要么挂起读取(8192),要么处于无限循环中,它将导致它看起来像您的屏幕截图:无响应

为了避免反应迟钝,当你花很长时间做某事时,你需要向wx屈服


一种简单的调试方法是在代码中插入打印,以确定代码被卡住的位置。至少,在urlopen/u.info活动前后打印一份,在while循环中至少打印一份。

您可以共享回溯吗?没有回溯。。。。简单地说明一下:你认为应用程序没有崩溃,而是挂起了,这是真的吗?看起来(从你的截图上)我们看到的wxpython应用程序仍然在运行,但是很忙,没有呈现任何内容…@PranavSingh:你看到截图了吗?此应用程序尚未崩溃。没有回溯,只是挂起而已。不客气。无论如何,如果这解决了您的问题,请勾选绿色箭头:)我在进入stackoverflow前几分钟解决了问题。我太傻了。我必须看一看常见问题,手册太粗糙了。嘿嘿-我需要乞求绿色的记号吗?如果答案是正确的,如果你勾选它就好了:)也许当我有成千上万的代表时,我就不在乎了:)
self.appendText(self.stateText, self.actualState, True)
            u = urllib2.urlopen(f['url'])
            meta = u.info()
            file_size = int(meta.getheaders("Content-Length")[0])
            newFileName = self.selectedDir + f['name'].encode('ascii') + " - " + f['date'].encode('ascii') + ".mp3"
            fil = open(newFileName, "wb")
            aclen = 0
            while True:
                b = u.read(8192)
                if not b:
                    break
                fil.write(b)
                aclen = aclen + 8192
                self.statusbar.SetStatusText(str(aclen / 1024) + "/" + str(file_size / 1024) + " - " +  str(self.percentage(aclen,file_size)) + "%")
            fil.close()