RuntimeError: Internal C++ object (xxx) already deleted

    技术2022-07-11  71

    之前那篇博客《用TextBrowser实现文件信息的显示》里面提到的showInfo这个函数,我在写的时候遇到了问题。

    最初想每次显示前都把之前的内容清空,然后再显示新内容。从网上查过资料之后找到了clear()和clearHistory()这两个方法,但是没有找到详细的解释。试过clearHistory发现没有效果,于是改用clear,用了之后Maya就不断崩溃。可当时没有意识到是这里的问题,拼命在其他地方找毛病(因为两次测试之间改动比较多)。其他所有地方都试了没有问题之后才认识到是showInfo出了错,但还是没有想是 clear的原因,还以为是传入文件路径的格式不对,又改了好久也没有解决。而在一次崩溃之前我截下Maya报错的图片: 又从网上查了一些资料之后才发现这个clear不光会清除框里的文字,还会把实例化的这个框的对象给清除掉。因为清除掉之后又调用了他,所以程序才一直崩溃(我猜是这样)。在这之后我就换了更新完拉到最底的方法。

    Processed: 0.011, SQL: 9