-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_design_optimization.py
More file actions
96 lines (77 loc) · 2.87 KB
/
Copy pathtest_design_optimization.py
File metadata and controls
96 lines (77 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/env python3
"""
设计优化测试脚本
验证statusbar、sidebar以及APP底色的优化效果
"""
import sys
import os
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QHBoxLayout, QSplitter
from PySide6.QtCore import Qt
# 添加项目根目录到Python路径
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, project_root)
from app.statusbar.status_bar import StatusBar
from app.sidebar.sidebar_manager import SidebarManager
from app.preference import AppStyle
from app.preference.style_constants import NEUTRAL_50, NEUTRAL_200, PRIMARY_500
class DesignOptimizationTestWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("设计优化测试")
self.resize(800, 600)
# 设置主窗口样式
self.setStyleSheet(AppStyle().get_main_style())
# 创建中央部件
central_widget = QWidget()
main_layout = QVBoxLayout(central_widget)
main_layout.setContentsMargins(0, 0, 0, 0)
main_layout.setSpacing(0)
# 创建主分割器
main_splitter = QSplitter(Qt.Orientation.Horizontal)
# 创建侧边栏
self.sidebar = SidebarManager(self)
self.sidebar.setStyleSheet(AppStyle().get_sidebar())
self.sidebar.setFixedWidth(59)
# 创建内容区域
content_widget = QWidget()
content_layout = QVBoxLayout(content_widget)
content_layout.setContentsMargins(10, 10, 10, 10)
# 添加测试内容
test_content = QWidget()
test_content.setStyleSheet(f"""
QWidget {{
background-color: {NEUTRAL_50};
border: 1px solid {NEUTRAL_200};
border-radius: 6px;
min-height: 400px;
}}
""")
content_layout.addWidget(test_content)
# 添加组件到分割器
main_splitter.addWidget(self.sidebar)
main_splitter.addWidget(content_widget)
main_splitter.setSizes([59, 741])
main_layout.addWidget(main_splitter)
self.setCentralWidget(central_widget)
# 创建状态栏
self.status_bar = StatusBar(self)
self.setStatusBar(self.status_bar)
self.status_bar.setStyleSheet(AppStyle().get_status_bar())
# 测试标签显示
self.status_bar.update_tags("md,pdf,docx")
# 设置窗口背景色
self.setStyleSheet(f"""
QMainWindow {{
background-color: {NEUTRAL_50};
}}
""")
def main():
"""主函数"""
app = QApplication(sys.argv)
# 创建测试窗口
window = DesignOptimizationTestWindow()
window.show()
# 运行应用
sys.exit(app.exec())
if __name__ == "__main__":
main()