def __init__(self, args=None): super(MainFrame, self).__init__() # Загружаем элементы окна self.ui = Ui_MainWindow() self.ui.setupUi(self) # Восстанавливаем состояние окна self.settings = QtCore.QSettings(company_section, app_section) self.restoreGeometry(self.settings.value("geometry")) self.restoreState(self.settings.value("windowState")) # Настройки self.s = Settings() self.s.saveEnv() # Добавляем свой виджет verticalLayout = QtGui.QVBoxLayout(self.ui.widget) verticalLayout.setContentsMargins(0, 0, 0, 0) self.ui.gragWidget = DragWidget(self.ui.widget, self.settings, self.s) self.ui.gragWidget.setObjectName("gragWidget") verticalLayout.addWidget(self.ui.gragWidget) # Читаем из директории с базой данных данные о задачах self.loadScheme()
class MainFrame(QtGui.QMainWindow): def __init__(self, args=None): super(MainFrame, self).__init__() # Загружаем элементы окна self.ui = Ui_MainWindow() self.ui.setupUi(self) # Восстанавливаем состояние окна self.settings = QtCore.QSettings(company_section, app_section) self.restoreGeometry(self.settings.value("geometry")) self.restoreState(self.settings.value("windowState")) # Настройки self.s = Settings() self.s.saveEnv() # Добавляем свой виджет verticalLayout = QtGui.QVBoxLayout(self.ui.widget) verticalLayout.setContentsMargins(0, 0, 0, 0) self.ui.gragWidget = DragWidget(self.ui.widget, self.settings, self.s) self.ui.gragWidget.setObjectName("gragWidget") verticalLayout.addWidget(self.ui.gragWidget) # Читаем из директории с базой данных данные о задачах self.loadScheme() # События def OnAbout(self): msg = u"{0}\n".format(__description__) msg += u"Version: {0}\n\n".format(__version__) msg += u"Author: Stan <*****@*****.**>\n" msg += u"License: MIT\n\n" msg += u"Python: {0}\n".format(sys.version) msg += u"PySide: {0}\n".format(__version__) msg += u"Qt: {0}\n".format(QtCore.__version__) QtGui.QMessageBox.about(None, "About", msg) def OnAbout_Qt(self): QtGui.QApplication.aboutQt() def closeEvent(self, event): # Сохраняем состояние окна self.settings.setValue("geometry", self.saveGeometry()) self.settings.setValue("windowState", self.saveState()) # Сохраняем данные о задачах self.saveScheme() event.accept() # Основной функционал def loadScheme(self): tasks = self.s.get('tasks', []) for task in tasks: draw_task(self.ui.gragWidget, task) def saveScheme(self): tasks = [] for task in self.ui.gragWidget.tasks_list(): task_dict = {} for key, value in task.items(): if isinstance(value, (simple_types, collections_types, dict)): task_dict[key] = value tasks.append(task_dict) self.s.set('tasks', tasks) # Сервисные функции def set_status(self, message=''): if isinstance(message, (list, tuple)): message = u"{0} и др. значения".format(message[0]) self.sb_message = message self.ui.statusbar.showMessage(self.sb_message)