这个是程序界面
在数据量比较多的时候(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_()
我之前的程序里是通过重载
closeEvent
解决的同时,main函数添加
app.setActiveWindow()
,如