46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
|
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()
|