这段时间在用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