2014-09-23 67 views
0

我正在使用下面的代碼片段,它在windows操作系統中正常工作,但是當涉及到linux時,它正在關閉並出現分段錯誤。在Linux下TextCtrl小部件崩潰

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

當它崩潰時你會得到什麼回溯? – Werner 2014-09-23 12:23:40

+0

對於其他小部件,請查看wxPython演示。 – Werner 2014-09-23 12:23:57

+0

您可以顯示一個自包含的示例應用程序,該應用程序在運行時顯示問題。 – Werner 2014-09-23 12:25:50

回答

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() 
+0

它在AppendText與分段錯誤崩潰,所以而不是使用AppendText,我用SetValue方法,它解決了崩潰問題 – 2014-09-25 05:26:32

+0

我的代碼崩潰或你的?你的消息實際上是文本嗎? – 2014-09-25 13:18:55