TextCtrl小部件在linux中崩溃

2024-04-23 11:05:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是下面的代码片段,它在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有没有自定义的小部件?你知道吗

如果我遗漏了上述代码中的任何内容,也请告诉我,以避免崩溃问题

提前谢谢。你知道吗


Tags: 代码selfadd部件linuxallitemflag
1条回答
网友
1楼 · 发布于 2024-04-23 11:05:08

我用wxpython2.8.12和python2.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()

相关问题 更多 >