gpt4 book ai didi

Mojave 上的 Python 段错误 11

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:02 24 4
gpt4 key购买 nike

MacOS 10.14.5( Mojave )

Python 3.7.3

wxPython 4.0.6

不断发生“段错误:11”崩溃

例如,我有一个显示 wx.RearrangeCtrl 的应用程序。它显示并填充正常,但如果我尝试选中一个框或移动一个项目,Python 就会崩溃。

我发现了许多关于此主题的线程,但它们都引用了更旧的版本,并且它们提供的解决方案对当前版本无效。

如有任何建议,我们将不胜感激。

我编写了一个简单的应用程序来重现该问题。和以前一样,它的绒毛干净,并且最初运行正常。窗口打开,列表框中添加了三个项目。如果我尝试移动项目或选中某个框,则会发生段错误崩溃。这种情况每次都会发生。

import wx


class mainFrame(wx.Frame):

def __init__(self, *args, **kw):
super(mainFrame, self).__init__(*args, **kw)
pnl = wx.Panel(self)
mainsizer = wx.BoxSizer(orient=wx.VERTICAL)

self.vlist = wx.RearrangeCtrl(pnl)
self.vlist.Create(pnl, -1, size=(600,400))
mainsizer.Add(self.vlist, 1, wx.EXPAND | wx.ALL, 10)

pnl.SetSizerAndFit(mainsizer)

self.loadList()

def loadList(self):
self.vlist.GetList().Append("first line")
self.vlist.GetList().Append("second line")
self.vlist.GetList().Append("third line")


if __name__ == '__main__':
app = wx.App()
frm = mainFrame(None, title='Crash Test', size=wx.Size(800, 600))
frm.Show()
app.MainLoop()

最佳答案

您的代码也会在 macOS 10.14.4 和 Win10 中崩溃。问题似乎是您必须在创建 wx.RearrangeCtrl 期间给出 itemsorder 列表小部件。

下面的代码现在在两个操作系统中都可以正常工作。

import wx


class mainFrame(wx.Frame):

def __init__(self, *args, **kw):
super(mainFrame, self).__init__(*args, **kw)
pnl = wx.Panel(self)
mainsizer = wx.BoxSizer(orient=wx.VERTICAL)

items = ['first line', 'second line', 'third line']
order = [0, 1, 2]

self.vlist = wx.RearrangeCtrl(pnl, -1, size=(600, 400), order=order, items=items)

mainsizer.Add(self.vlist, 1, wx.EXPAND | wx.ALL, 10)

pnl.SetSizerAndFit(mainsizer)

if __name__ == '__main__':
app = wx.App()
frm = mainFrame(None, title='Crash Test', size=wx.Size(800, 600))
frm.Show()
app.MainLoop()

为了以防万一,显示项目是否被选中的描述是 here .

关于Mojave 上的 Python 段错误 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56752608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com