wxpython 界面卡死的问题解决

我有一个小抓取工具,运行-》点开始按钮后经常会卡死

 

 

 

调整之前的代码:

        
        # Connect Events
        self.func = self.start.Bind( wx.EVT_BUTTON, self.kaishizhuaqu )

 

    def kaishizhuaqu( self, event ):
        diqus = self.diqu.GetValue()
        guanjianzis = self.guanjianzi.GetValue()
        text = ""
        text += "地区:%s\r\n" % diqus

 

修改之后的代码:

import threading

 

    # Virtual event handlers, overide them in your derived class
    def kaishizhuaqu( self, event ):
        thread_obj = threading.Thread(target=self.kaishizhuaqu1, args=(event, ))
        thread_obj.start()
        
    def kaishizhuaqu1( self, event ):
        diqus = self.diqu.GetValue()
        guanjianzis = self.guanjianzi.GetValue()
        text = ""
        text += "地区:%s\r\n" % diqus

 

解决方法是采用子线程方式处理抓取任务,调整之后界面很顺畅,不会再卡死了

posted @ 2023-02-08 16:22  河北大学-徐小波  阅读(305)  评论(0)    收藏  举报