用线程解决wxpython界面无响应假死问题

本文介绍如何利用线程解决wxpython应用程序在执行长时间操作时出现的界面无响应问题。通过创建线程执行任务,并使用消息传递在线程与界面间通信,确保界面的正常响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间在用wxpython写一个程序,需要连接远程终端执行长时间操作。在执行过程中,界面就会无响应,假死,感觉非常不好。上网参考了一下大家的解决方法,基本是用线程来执行操作,再用消息在线程与界面之间通讯。

主要参考的程序在这里 不过有一点点旧了,“from wx.lib.pubsub import Publisher”会报错。我这里重写一下,供大家参考。

test_gui.py (wxFormbuilder生成的,缩进什么的将就一下吧。)

# -*- coding: utf-8 -*-

###########################################################################
## Python code generated with wxFormBuilder (version Oct 26 2018)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################

import wx
import wx.xrc

###########################################################################
## Class MyFrame1
###########################################################################

class MyFrame1 ( wx.Frame ):

    def __init__( self, parent ):
        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"测试", pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

        self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )

        bSizer1 = wx.BoxSizer( wx
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值