Непонятно чего вы хотите.
Вроде пользоваться вашим кодом или развивать проект нет смысла.
Наверное вы хотите замечаний по коду?
Вот эти манипуляции со слешами очень дурно пахнут. В питоне есть специальные объекты для работы с путями. Прямая манипуляция делает ваш код просто неправильным.
self.file_name = str(self.file_name[0])[2:-2].replace('/', '\\')
self.fileName = str(self.file_name.split('\\')[-1])
file_name и fileName смешение стилей и и имена не отражающие суть содержимого переменной.
А вот тут полезно обработать все варианты
ms = QMessageBox.question(self, 'Выход', 'Сохранить файл?', QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel)
if ms == QMessageBox.Yes:
with open(self.file_name, 'w') as f:
f.write(self.ui.text.toPlainText())
event.accept()
elif ms == QMessageBox.Cancel:
event.ignore()
Те либо
if ms == QMessageBox.Yes:
....
elif ms == QMessageBox.Cancel:
...
else:
...
либо
if ms == QMessageBox.Yes:
...
else:
...