用Python 2.7&PyQt 4.8.7写了一个小工具,但是程序关闭的时候程序会崩溃,不知道怎么调试

 ___何鵬 发布于 2022-10-28 06:46

这个是程序界面

在数据量比较多的时候(8000+),双击Table中的Item修改数据,再关闭程序就会有这种报错,完全不知道怎么去调试这种关闭时候的程序崩溃

工具是一个TXT文本解析工具,按照配置好的XML文件里面的格式,来解析具体的TXT文本,方便查看和修改(后续可能还需要增加一些校验、排序等功能完善)

程序在打开十几条数据的文本文件的时候各种操作都没什么问题,但是打开的文本数据量稍微大一些,再点击几下界面操作,关闭程序后就会出现这种错误

关键的关键是不知道要怎么调试这种Python GUI程序关闭时候的报错,希望能有大神提供一下调试的思路,我是完全懵逼不知道怎么调

工具不复杂,但是代码也是有好几百行,贴出来可能有点长,只贴一下main程序的结构吧,界面UI是用Qtdesinger作的,然后引用了UI.py 文件,读写TXT的类也稍微封装了一下在另外一个文件里面

一楼说道的重载closeEvent的做法似乎没什么用,依然是调试不了,然后我注意了一下程序崩溃时候的ExitCode

**“Process finished with exit code -1073741819 (0xC0000005)”
每次都是一样的ExistCode**

class mywindow(QtGui.QWidget, Ui_Form):
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)
        self._setComboBoxText()
        self.m_sFilename = None
        self.toolButton.clicked.connect(self.Getfilename)
        self.pushButton.clicked.connect(self.AnalyseTXT)
        self.pushButton_2.clicked.connect(self.SaveFile)
        self.ErrorMessageDialog = QtGui.QMessageBox(self)

    #解析XML配置信息
    def _setComboBoxText(self):
        pass

    #获取金手指文件名
    def Getfilename(self):
        pass

    #初始化表格(这里用的是 QT的tableview组件,程序崩溃也是在数据量比较多的情况下双击界面的tableview修改Item里的数据才引起的)
    def InitTableView(self):
        pass

    #解析TXT文件
    def AnalyseTXT(self):
        pass

    #保存TXT文件
    def SaveFile(self):
        pass

if __name__ == '__main__':
    import  sys
    app = QtGui.QApplication(sys.argv)
    myshow = mywindow()
    myshow.show()
    app.exec_()
2 个回答
  • 从窗口关闭开始进行逐行调试。

    2022-10-29 14:50 回答
  • 我之前的程序里是通过重载closeEvent解决的

    def closeEvent(self, event):
        '''Close Window'''
        self.close()

    同时,main函数添加app.setActiveWindow(),如

    app = QtGui.QApplication(sys.argv)
    myshow = mywindow()
    app.setActiveWindow(myshow)
    myshow.show()
    app.exec_()
    2022-10-29 15:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有