Добрый день.
Имеется программка для работы с БД. При запуске отображается таблица, куда выводятся данные из базы. Если закрыть программу, то с вероятностью, примерно, 20% она вылетит, т. е. Windows покажет сообщение по проблеме:
Имя события проблемы: APPCRASH
Имя приложения: python.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 5676ff9a
Имя модуля с ошибкой: QtGui.pyd
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 55a8cb2e
Код исключения: c0000005
Смещение исключения: 0000000000233440
Версия ОС: 6.3.9600.2.0.0.256.48
Код языка: 1049
Дополнительные сведения 1: 3733
Дополнительные сведения 2: 373373bfbcbe3a555910936d40bbcd4c
Дополнительные сведения 3: f4cb
Дополнительные сведения 4: f4cbefe822d4eff4175ddc99fca5ba47
В консоли отображается только: Process finished with exit code -1073741819 (0xC0000005).
Для закрытия главного окна программы у меня используется функция CloseEvent:
def load_data():
db_connect = QtSql.QSqlDatabase.addDatabase("QSQLITE")
db_connect.setDatabaseName("datebase.db")
db_connect.open()
model = QtSql.QSqlQueryModel(parent=main_window)
model.setQuery("SELECT * FROM data")
main_window.tableView.setModel(model)
db_connect.close()
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi("main.ui", self)
self.setWindowTitle("Main")
self.setMinimumSize(500, 350)
self.show()
def closeEvent(self, event):
dialog = QtGui.QMessageBox.question(self,
"Выход из программы", "Вы действительно хотите закрыть программу?",
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
if dialog == QtGui.QMessageBox.Yes:
QtGui.QApplication.exit()
else:
event.ignore()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
main_window = MainWindow()
load_data()
sys.exit(app.exec_())
Я использую PyCharm. Можно как-то в нем сделать, чтобы ошибки более конкретно описывались, чтобы понять их причину?