def closeEvent(self, event): # TODO: Возможно имеет смысл ввести какой нибудь флаг для проверки # Что параметры были изменены, чтобы не переписывать фаил # без необходимости if self.isMaximized(): self.conf['global']['fullScreen'] = True else: self.conf['global']['fullScreen'] = False self.position = self.pos() self.size = self.size() self.conf['global']['load'] = filter( lambda tab: self.tabChecks[tab].isChecked(), self.tabs ) # Saving window position and size self.conf['global']['position'] = [ self.position.x(), self.position.y() ] self.conf['global']['size'] = [ self.size.width(), self.size.height() ] # Saving config confile = open("options.yml", "wb") yaml.dump(self.conf, confile) confile.close() for tab in self.tabs.keys(): self.unloadTab(tab) # Иконка из трея не пропадает if self.trayIcon.isVisible: self.trayIcon.hide()