|
用wxpython做gui窗口想做一个类似飞秋的小程序,能够发消息,但是不知道如何把代码嵌入到wxpython,把方法绑定到按钮上后点击按钮,窗口就无响应了,如果把代码直接嵌入程序则窗口就不显示了,高手帮我看看,谢谢!
import socket
import wx
import wx.xrc
def conn(EVENT):
s=socket.socket()
host=socket.gethostname()
port=1234
s.bind((host,port))
s.listen(5)
while True:
c,addr=s.accept()
while True:
data=c.recv(1024)
print '接收数据:'+data
c.close()
s.close()
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(334, 244),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENU))
bSizer1 = wx.BoxSizer(wx.VERTICAL)
self.m_textCtrl1 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, 100),
wx.HSCROLL | wx.TE_MULTILINE | wx.TE_READONLY)
self.m_textCtrl1.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENU))
bSizer1.Add(self.m_textCtrl1, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)
self.m_button1 = wx.Button(self, wx.ID_ANY, u"启动", wx.DefaultPosition, wx.DefaultSize, 0)
bSizer1.Add(self.m_button1, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)
self.m_button1.Bind(wx.EVT_BUTTON,conn)
self.SetSizer(bSizer1)
self.Layout()
self.Centre(wx.BOTH)
def __del__(self):
pass
app=wx.App()
frame=MyFrame1(None)
frame.Show(True)
app.MainLoop()
上述代码点击“启动”窗口就无响应了。
|
|