我正在使用下面的代码片段,它在Windows操作系统中正常工作,但是当进入linux时,它正在以分段错误结束。
self.textMessage = wx.TextCtrl(self, -1, '', style=wx.TE_MULTILINE|wx.TE_READONLY)
self.hSizer2.Add(item=self.textMessage, proportion=1, flag=wx.EXPAND|wx.ALL, border=3)
self.vSizer.Add(item=self.hSizer2, proportion=1, flag=wx.EXPAND|wx.ALL, border=0)
self.textMessage.AppendText(message+" \n")
我正在使用redhat enterprise linux。是否可以用其他小部件替换TextCtrl小部件,是否有任何TextCtrl的自定义小部件?
如果我在上面的代码中遗漏任何内容以避免崩溃问题,也请告诉我
提前致谢。
答案 0 :(得分:0)
我使用wxPython 2.8.12和Python 2.7.6在我的Kubuntu 14.04盒子上的一个实际可运行的例子中测试了你的代码,它运行得很好。请参阅以下示例:
import wx
########################################################################
class MyPanel(wx.Panel):
""""""
#----------------------------------------------------------------------
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent)
self.vSizer = wx.BoxSizer(wx.VERTICAL)
self.hSizer2 = wx.BoxSizer(wx.HORIZONTAL)
message = "The bright red fox"
self.textMessage = wx.TextCtrl(self, -1, '', style=wx.TE_MULTILINE|wx.TE_READONLY)
self.hSizer2.Add(item=self.textMessage, proportion=1, flag=wx.EXPAND|wx.ALL, border=3)
self.vSizer.Add(item=self.hSizer2, proportion=1, flag=wx.EXPAND|wx.ALL, border=0)
self.textMessage.AppendText(message+" \n")
self.SetSizer(self.vSizer)
########################################################################
class MyFrame(wx.Frame):
""""""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Test")
panel = MyPanel(self)
self.Show()
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
app.MainLoop()