Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # класс главного окна
- class MainWindow(QtWidgets.QMainWindow): # объявляем класс главного окна
- def __init__(self): # конструктор класс
- super().__init__()
- uic.loadUi("light_designer.ui", self) # загружаем форму
- dialog = AutorizationVSTBT(self) # создаем объект окно авторизации
- dialog.exec() # запускаем окно авторизации
- if dialog.result() > 0: # если результат из AutorizationVSTBT больше 0 запускаем форму
- self.setWindowTitle("Построение и расчет света.") # устанавливаем название
- self.setGeometry(10, 30, 600, 600) # устанавливаем размер окна
- #self.showMaximized() # разворачиваем окно на максимум
- self.show() # показываем окно
- self.NewProjectAction.triggered.connect(self.CreateProject) # устанавливаем коннект c CreateProject на "Создать проект"
- else: # если результат не больше 0 закрываем программу
- sys.exit(-1) # если результат не больше 0 закрываем программу
- def CreateProject(self): # создаем экземпляр класса формы NewProjectDialog и показываем
- self.NewProjectDialog_form = NewProjectDialog(self) # создаем
- self.NewProjectDialog_form.show()
- self.NewProjectDialog_form.signal_text.connect(self.change_label) # вот тут ОШИБКА PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
- @QtCore.pyqtSlot(str)
- def change_label(self, text):
- self.label_text(text)
- self.label.setText(self.label_text)
- print("Работает")
- # Класс показывает форму нового проекта, ставим ИД проекта, сохраняем переменные в словарь, добавляем табы.
- class NewProjectDialog(QDialog):
- def __init__(self, parent=MainWindow): # + parent
- super(NewProjectDialog,self).__init__(parent) #
- self.signal_text = QtCore.pyqtSignal(str)
- self.parent = parent
- self.setWindowTitle("Новый проект") # заголовок окна
- self.setModal(True) # модальность
- self.label_up = QtWidgets.QLabel("Для создания нового проекта необходимо ввести идентификатор проекта.") # Заголовок
- self.line_fio = QtWidgets.QLineEdit() # добавляем поле ввода
- self.newproject_button = QtWidgets.QPushButton("Начать новый проект") # добавляем кнопку "Начать проект"
- self.hbox = QtWidgets.QHBoxLayout() # добавляем горизонтальную раскладку
- self.form = QtWidgets.QFormLayout() # добавляем раскладку формы
- self.form.setSpacing(30) # указываем размерность формы
- self.form.addRow(self.label_up) # добавляем добавляем строку заголовка в форму
- self.form.addRow("ФИО Заказчика, номер проекта или другой идентификатор:",self.line_fio) # добавляем поле ввода в форму
- self.form.addRow(self.newproject_button) # добаляем кнопку в форму
- self.setLayout(self.form) # добавляем форму в раскладку
- self.newproject_button.clicked.connect(self.save_param) # устанавливаем связь клика по кнопке и метода save_param
- def save_param(self): # метод сохраняющий переменные в глобальном словаре current_project
- print(self.line_fio.text()) # УДАЛИТЬ!
- global current_project # обьявляем словарь current_project глобальным
- current_project.update({"project_id": self.line_fio.text()}) # сохраняем в словаре ИД проекта
- current_project.update({"project_create_date": time.localtime()}) # сохраняем в словаре дату проекта, ПОДУМАТЬ над форматом
- self.close() # закрываем модальное окно
- self.text_label = "Проект ID:" +str(self.line_fio.text()) # устанавливаем текст надписи
- self.signal_text.emit(self.text_label)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement