AIDeveloper-PC/gui_ai_developer/widgets/panel_widget.py

53 lines
1.3 KiB
Python

"""
面板组件
"""
from PyQt5.QtWidgets import QFrame, QVBoxLayout, QLabel
from PyQt5.QtCore import Qt
class PanelWidget(QFrame):
"""面板组件 - 带标题的容器"""
def __init__(self, title: str = "", parent=None):
"""
初始化面板
Args:
title: 面板标题
parent: 父组件
"""
super().__init__(parent)
self.title = title
self._setup_ui()
def _setup_ui(self):
"""设置UI"""
# 设置框架样式
self.setFrameShape(QFrame.StyledPanel)
# 创建布局
layout = QVBoxLayout(self)
layout.setContentsMargins(15, 15, 15, 15)
layout.setSpacing(10)
# 添加标题
if self.title:
title_label = QLabel(self.title)
title_label.setStyleSheet("""
font-size: 16px;
font-weight: bold;
color: #60a5fa;
margin-bottom: 5px;
""")
layout.addWidget(title_label)
# 添加分隔线
line = QFrame()
line.setFrameShape(QFrame.HLine)
line.setStyleSheet("""
background: rgba(59, 130, 246, 0.2);
max-height: 1px;
margin-bottom: 10px;
""")
layout.addWidget(line)