You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 84c1fbc0dd
重叠问题
2 weeks ago
..
LeftPanelStyleManager.cpp 样式修改 2 weeks ago
LeftPanelStyleManager.h 样式修改 2 weeks ago
ModernStyleManager.cpp 样式修改 2 weeks ago
ModernStyleManager.h 样式修改 2 weeks ago
README.md 样式修改 2 weeks ago
StyleSystemStatus.md 样式修改 2 weeks ago
USAGE_GUIDE.md 重叠问题 2 weeks ago
left_panel_styles.qss 重叠问题 2 weeks ago
main_styles.qss 样式修改 2 weeks ago
military_theme.qss 样式修改 2 weeks ago
military_theme_clean.qss 右侧功能面板UI配色统一化完成 3 weeks ago
modern_military_theme.qss 样式修改 2 weeks ago

README.md

战场环境探索系统 - 样式管理系统

📋 系统概述

本目录包含战场环境探索系统的完整样式管理系统,提供军事主题的专业界面设计和统一的样式管理功能。

🗂️ 文件结构

核心管理器

styles/
├── LeftPanelStyleManager.cpp/h     # 左侧面板样式管理器
├── ModernStyleManager.cpp/h        # 现代化样式管理器(主要)
└── README.md                       # 本文档

样式表文件

styles/
├── left_panel_styles.qss          # 左侧面板专用样式
├── main_styles.qss                # 主窗口样式
├── military_theme.qss             # 经典军事主题
├── military_theme_clean.qss       # 清洁版军事主题
└── modern_military_theme.qss      # 现代军事主题(推荐)

🎯 使用指南

1. 快速开始

在MainWindow中集成现代样式管理器

#include "styles/ModernStyleManager.h"

// 在构造函数中初始化
ModernStyleManager::getInstance()->applyTheme(
    ModernStyleManager::ThemeType::ModernMilitary
);

2. 主题切换

// 切换到现代军事主题
styleManager->applyTheme(ThemeType::ModernMilitary);

// 切换到经典军事主题  
styleManager->applyTheme(ThemeType::ClassicMilitary);

// 启用演示模式(适合课堂展示)
styleManager->setDisplayMode(DisplayMode::Presentation);

3. 按钮样式应用

// 使用便捷工具类
ModernStyleUtils::applyPrimaryButton(button);
ModernStyleUtils::applySuccessButton(successBtn);
ModernStyleUtils::applyDangerButton(deleteBtn);

4. 设备状态指示

// 设置设备状态
ModernStyleUtils::applyOnlineStatus(statusLabel);
ModernStyleUtils::applyOfflineStatus(statusLabel);
ModernStyleUtils::applyWarningStatus(statusLabel);

🎨 主题系统

可用主题

主题名称 文件 特点 推荐场景
ModernMilitary modern_military_theme.qss 现代化设计Qt 5.15完全兼容 主要推荐
ClassicMilitary military_theme_clean.qss 经典军事风格 传统界面
Academic - 学术演示优化 课堂展示
HighContrast - 高对比度模式 明亮环境

显示模式

模式 特点 适用场景
Normal 标准显示 日常使用
Presentation 大字体,高对比度 课堂演示,投影
HighContrast 超高对比度 明亮环境,视觉辅助

🔧 技术特性

1. Qt 5.15完全兼容

  • 移除所有CSS3不支持属性
  • 使用Qt原生样式特性
  • 跨平台一致性保证

2. 性能优化

  • 样式表缓存机制
  • 动画资源自动清理
  • 单例模式避免重复创建
  • 延迟加载和按需应用

3. 学术演示优化

  • 演示模式大字体
  • 高对比度支持
  • 投影友好设计
  • 专业军事配色

4. 开发友好

  • 便捷的工具类方法
  • 详细的API文档
  • 清晰的错误处理
  • 完整的示例代码

📊 样式管理器对比

特性 LeftPanelStyleManager ModernStyleManager
作用范围 左侧设备面板 全局样式管理
主题支持 单一主题 多主题切换
动画支持 基础 完整动画系统
演示模式
状态管理 基础 完整状态系统
推荐使用 特定场景 主要推荐

🚀 最佳实践

1. 初始化顺序

// 1. 创建UI组件
setupUI();

// 2. 应用样式主题
ModernStyleManager::getInstance()->applyTheme(ThemeType::ModernMilitary);

// 3. 连接信号槽
connectSignals();

2. 样式应用时机

// ✅ 正确:在组件创建后应用样式
QPushButton* button = new QPushButton("确定", this);
ModernStyleUtils::applyPrimaryButton(button);

// ❌ 错误:在组件创建前应用样式
ModernStyleUtils::applyPrimaryButton(nullptr);

3. 性能考虑

// ✅ 批量样式应用
styleManager->refreshAllStyles();

// ❌ 频繁的单个样式切换
for (auto* button : buttons) {
    styleManager->applyButtonStyle(button, style); // 避免在循环中频繁调用
}

🐛 故障排除

常见问题

  1. 样式不生效

    • 检查资源文件是否正确包含
    • 确认控件objectName设置
    • 验证样式应用时机
  2. CSS3错误

    • 使用modern_military_theme.qss已修复CSS3兼容性
    • 避免使用transition、transform、box-shadow
  3. 性能问题

    • 使用样式缓存
    • 避免频繁的主题切换
    • 定期清理动画资源

调试方法

// 启用调试输出
qDebug() << "Current theme:" << static_cast<int>(styleManager->getCurrentTheme());
qDebug() << "Style sheet length:" << styleManager->getCurrentStyleSheet().length();

📈 版本历史

版本 日期 主要更新
v4.0 2024-07-03 CSS3兼容性修复现代化样式管理器
v3.0 - 左侧面板样式管理器
v2.0 - 基础样式表系统
v1.0 - 初始版本

🎓 学术价值

本样式管理系统展现了以下技术深度:

  1. 设计模式应用:单例模式、策略模式、观察者模式
  2. Qt框架掌握:样式表系统、动画框架、资源管理
  3. 性能优化:缓存机制、内存管理、渲染优化
  4. 工程实践:模块化设计、错误处理、文档规范

本样式管理系统为战场环境探索系统提供专业级的界面设计支持,确保在学术展示和实际应用中都能呈现最佳效果。