Ros_Qt5_Gui_App/doc/development_en.md
chengyangkj a0224d7c62
Some checks are pending
ROS2:Foxy(20.04) / release (map[image:ubuntu:focal ros:foxy]) (push) Waiting to run
ROS2:galactic(20.04) / release (map[image:ubuntu:focal ros:galactic]) (push) Waiting to run
ROS2:Humble(22.04) / release (map[image:ubuntu:jammy ros:humble]) (push) Waiting to run
ROS1:Melodic(18.04) / release (map[image:ubuntu:bionic ros:melodic]) (push) Waiting to run
ROS1:Noetic(20.04) / release (map[image:ubuntu:focal ros:noetic]) (push) Waiting to run
update readme
2025-03-08 17:40:46 +08:00

79 lines
2.5 KiB
Markdown

# Developer Guide
## Development Environment Setup
### IDE Configuration
#### Qt Creator
1. Install Qt Creator:
```bash
sudo apt-get install qtcreator
```
2. Open project:
- Select File -> Open File or Project
- Select CMakeLists.txt in project root directory
- Configure build directory
#### VSCode
1. Install required plugins:
- C/C++
- CMake
- CMake Tools
2. Configure CMake:
- Configure CMake path in `.vscode/settings.json`
- Set build directory
## Code Structure
```
.
├── doc/ # Project documentation
│ ├── images/ # Documentation images
│ ├── configuration.md # Configuration guide
│ ├── usage.md # Usage guide
│ ├── development.md # Development guide
│ └── faq.md # FAQ
├── include/ # Header files
│ ├── common/ # Common utility headers
│ ├── widgets/ # UI component headers
│ └── ros_bridge/ # ROS communication interface headers
├── src/ # Source code
│ ├── common/ # Common utility implementation
│ │ ├── configuration.cpp # Configuration management
│ │ ├── global.cpp # Global variables
│ │ └── topic_manager.cpp # Topic management
│ ├── widgets/ # Qt UI components
│ │ ├── main_window.cpp # Main window
│ │ ├── map_widget.cpp # Map component
│ │ ├── control_panel.cpp # Control panel
│ │ └── dashboard.cpp # Dashboard component
│ ├── ros_bridge/ # ROS communication interface
│ │ ├── ros_bridge.cpp # ROS bridge layer
│ │ ├── topic_subscriber.cpp # Topic subscription
│ │ └── topic_publisher.cpp # Topic publishing
│ └── main.cpp # Program entry
├── resources/ # Resource files
│ ├── images/ # Icons and images
│ ├── qss/ # Style sheets
│ └── translations/ # Language files
├── scripts/ # Helper scripts
├── test/ # Test code
└── CMakeLists.txt # CMake build file
```
## Development Standards
### Code Style
- Use clang-format for code formatting
- Follow Google C++ Style Guide
### Commit Convention
- feat: New feature
- fix: Bug fix
- docs: Documentation update
- style: Code format changes
- refactor: Code refactoring
- test: Test case changes
- chore: Build process or auxiliary tool changes