/
O.S.Prog
/
InstrumentProtocol
Обзор
Документация
Войти
/
O.S.Prog
/
InstrumentProtocol
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ui/template_editor.py
58 строк
2 KB
O.S.Prog
Initial commit: InstrumentProtocol v2.0
17 июл 2026, 15:11
17 июл 2026, 15:11
1e845bd
Код
Авторство
О чём код?
from PyQt6.QtWidgets import * class TemplateEditor(QDialog): def __init__(self, parent=None, name="", text=""): super().__init__(parent) self.setWindowTitle("Редактор шаблона") self.setModal(True) self.setGeometry(300, 300, 500, 400) layout = QVBoxLayout() layout.addWidget(QLabel("Название шаблона (обязательно):")) self.name_input = QLineEdit() self.name_input.setText(name) self.name_input.setPlaceholderText("Введите название шаблона...") layout.addWidget(self.name_input) layout.addWidget(QLabel("Текст шаблона (обязательно):")) self.text_edit = QTextEdit() self.text_edit.setText(text) self.text_edit.setPlaceholderText("Введите текст шаблона...") layout.addWidget(self.text_edit) buttons = QHBoxLayout() btn_save = QPushButton("Сохранить") btn_save.clicked.connect(self.save_and_accept) btn_cancel = QPushButton("Отмена") btn_cancel.clicked.connect(self.reject) buttons.addWidget(btn_save) buttons.addWidget(btn_cancel) layout.addLayout(buttons) self.setLayout(layout) def save_and_accept(self): """Проверяет поля и сохраняет шаблон""" name = self.name_input.text().strip() text = self.text_edit.toPlainText().strip() if not name: QMessageBox.warning(self, "Ошибка", "Название шаблона не может быть пустым.") self.name_input.setFocus() return if not text: QMessageBox.warning(self, "Ошибка", "Текст шаблона не может быть пустым.") self.text_edit.setFocus() return self._name = name self._text = text self.accept() def get_name(self): return getattr(self, '_name', '') def get_text(self): return getattr(self, '_text', '')