在python中子帧不会被破坏

2024-09-28 01:27:12 发布

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

我有一个程序,我正在努力开发,但我想我不知道正确的方法,使子帧。我看了几个例子,似乎不能让它破坏框架时,它关闭。我得到以下错误读数(使用pycharm):

Exception wx._core.PyDeadObjectError: PyDeadObjectError('The C++ part of the
Choice object has been deleted, attribute access no longer allowed.',) in
<bound method pvFileINdialog.__del__ of <fileIO.pvFileIOGUIFileIOdialog.pvFileINdialog;
proxy of <Swig Object of type 'wxDialog *' at 0x340cc70> >> ignored

虽然翻译会处理这个问题,但我还是想学习正确的处理方法。你知道吗

如果我移动destroy和close命令,结果不会改变。你知道吗

兴趣代码为:

#in MainFrame.py:

def fileimport(self, event):

    importprompt = pvFileIOGUIFileIOdialog.pvFileINdialog(self)

    importprompt.ShowModal()

    importprompt.Destroy()

#referring to pvFileIOGUIFileIOdialog.pvFileINdialog :

class pvFileINdialog(pvFileIOGUI.FileINdialog):
    def __init__(self, child):
        pvFileIOGUI.FileINdialog.__init__(self, child)

#which refers to pvFileIOGUI.FileINdialog :

class FileINdialog(wx.Dialog):
    def __init__(self, child):
        wx.Dialog.__init__(self, child, id=wx.ID_ANY, title=u"Select Import Method...",     pos=wx.DefaultPosition,
                           size=wx.Size(800, 600), style=wx.DEFAULT_DIALOG_STYLE)


#and is closed by this routine in pvFileIOGUIFileIOdialog.py:

    def cancelclk(self, event):
        self.Close()
        return 0

Tags: of方法inpyselfchildinitdef
1条回答
网友
1楼 · 发布于 2024-09-28 01:27:12

很难理解发生了什么,因为您的错误消息引用了Choice,但是您的代码根本没有显示任何选项,因此可能缺少某些内容,即问题可能出在您没有显示的部分。但无论如何,调用Destroy()是没有必要的,除非你有真正的理由,否则你不应该这么做(是吗?)。因此,我首先从代码中删除对Destroy()的所有调用。你知道吗

相关问题 更多 >

    热门问题