brisonus_app_eq/widgets/project_dialog.py

46 lines
1.6 KiB
Python
Raw Permalink Normal View History

from PySide6.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QTextEdit, QPushButton, QMessageBox
from PySide6.QtCore import Qt
from typing import Tuple
class AddProjectDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.setup_ui()
def setup_ui(self):
self.setWindowTitle("添加项目")
layout = QVBoxLayout()
# 项目名称输入
self.name_label = QLabel("项目名称:")
self.name_edit = QLineEdit()
self.name_edit.setPlaceholderText("请输入项目名称")
# 项目描述输入
self.desc_label = QLabel("项目描述:")
self.desc_edit = QTextEdit()
self.desc_edit.setPlaceholderText("请输入项目描述")
# 按钮
self.btn_layout = QHBoxLayout()
self.ok_btn = QPushButton("确定")
self.cancel_btn = QPushButton("取消")
self.btn_layout.addWidget(self.ok_btn)
self.btn_layout.addWidget(self.cancel_btn)
# 添加到主布局
layout.addWidget(self.name_label)
layout.addWidget(self.name_edit)
layout.addWidget(self.desc_label)
layout.addWidget(self.desc_edit)
layout.addLayout(self.btn_layout)
self.setLayout(layout)
# 连接信号
self.ok_btn.clicked.connect(self.accept)
self.cancel_btn.clicked.connect(self.reject)
def get_project_data(self) -> Tuple[str, str]:
return self.name_edit.text().strip(), self.desc_edit.toPlainText().strip()