Advertisement
Guest User

Untitled

a guest
Jun 6th, 2020
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.56 KB | None | 0 0
  1. # класс главного окна
  2. class MainWindow(QtWidgets.QMainWindow):                        # объявляем класс главного окна
  3.     def __init__(self):                                         # конструктор класс
  4.         super().__init__()                                          
  5.         uic.loadUi("light_designer.ui", self)                   # загружаем форму
  6.         dialog = AutorizationVSTBT(self)                        # создаем объект окно авторизации
  7.         dialog.exec()                                           # запускаем окно авторизации
  8.         if dialog.result() > 0:                                 # если результат из AutorizationVSTBT больше 0 запускаем форму
  9.             self.setWindowTitle("Построение и расчет света.")   # устанавливаем название
  10.             self.setGeometry(10, 30, 600, 600)                  # устанавливаем размер окна
  11.             #self.showMaximized()                               # разворачиваем окно на максимум
  12.             self.show()                                         # показываем окно
  13.             self.NewProjectAction.triggered.connect(self.CreateProject) # устанавливаем коннект c CreateProject на "Создать проект"
  14.         else:                                                   # если результат не больше 0 закрываем программу
  15.             sys.exit(-1)                                        # если результат не больше 0 закрываем программу
  16.    
  17.     def CreateProject(self):                                    # создаем экземпляр класса формы NewProjectDialog и показываем
  18.         self.NewProjectDialog_form = NewProjectDialog(self)     # создаем
  19.         self.NewProjectDialog_form.show()
  20.         self.NewProjectDialog_form.signal_text.connect(self.change_label) # вот тут ОШИБКА PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
  21.        
  22.  
  23.     @QtCore.pyqtSlot(str)
  24.     def change_label(self, text):
  25.         self.label_text(text)
  26.         self.label.setText(self.label_text)
  27.         print("Работает")
  28.  
  29. # Класс показывает форму нового проекта, ставим ИД проекта, сохраняем переменные в словарь, добавляем табы.
  30. class NewProjectDialog(QDialog):
  31.     def __init__(self, parent=MainWindow):                      # + parent
  32.         super(NewProjectDialog,self).__init__(parent)           #
  33.         self.signal_text = QtCore.pyqtSignal(str)
  34.        
  35.         self.parent = parent
  36.         self.setWindowTitle("Новый проект")                     # заголовок окна
  37.         self.setModal(True)                                     # модальность
  38.         self.label_up = QtWidgets.QLabel("Для создания нового проекта необходимо ввести идентификатор проекта.") # Заголовок
  39.         self.line_fio = QtWidgets.QLineEdit()                   # добавляем поле ввода
  40.         self.newproject_button = QtWidgets.QPushButton("Начать новый проект") # добавляем кнопку "Начать проект"
  41.         self.hbox = QtWidgets.QHBoxLayout()                     # добавляем горизонтальную раскладку
  42.         self.form = QtWidgets.QFormLayout()                     # добавляем раскладку формы
  43.         self.form.setSpacing(30)                                # указываем размерность формы
  44.         self.form.addRow(self.label_up)                         # добавляем добавляем строку заголовка в форму
  45.         self.form.addRow("ФИО Заказчика, номер проекта или другой идентификатор:",self.line_fio)    # добавляем поле ввода в форму
  46.         self.form.addRow(self.newproject_button)                # добаляем кнопку в форму
  47.         self.setLayout(self.form)                               # добавляем форму в раскладку
  48.         self.newproject_button.clicked.connect(self.save_param) # устанавливаем связь клика по кнопке и метода save_param
  49.            
  50.     def save_param(self):                                       # метод сохраняющий переменные в глобальном словаре current_project
  51.         print(self.line_fio.text())                             # УДАЛИТЬ!
  52.         global current_project                                  # обьявляем словарь current_project глобальным
  53.         current_project.update({"project_id": self.line_fio.text()})    # сохраняем в словаре ИД проекта
  54.         current_project.update({"project_create_date": time.localtime()})   # сохраняем в словаре дату проекта, ПОДУМАТЬ над форматом
  55.         self.close()                                            # закрываем модальное окно
  56.         self.text_label = "Проект ID:" +str(self.line_fio.text()) # устанавливаем текст надписи
  57.         self.signal_text.emit(self.text_label)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement