A modern, responsive C++ Qt application for managing EdgeX Foundry instances with a premium Honeycomb-inspired theme.
- Dynamic Service Discovery: Integrates with Consul to automatically discover and monitor all running EdgeX services.
- EdgeX V3 Parity:
- Notifications: Severity-based monitoring and multi-channel subscription support.
- Rules Engine: SQL-based stream processing with real-time metrics (In/Out/Exceptions).
- Premium Aesthetics: High-fidelity UI using the Honeycomb palette (#023356, #F9942A) and Montserrat typography.
- Responsive Management: Full CRUD operations for Devices, Profiles, and Subscriptions.
Ensure you have the following installed:
- Qt 5.15+ or Qt 6 (Modules: Widgets, Network, Concurrent)
- CMake 3.10+
- C++17 Compiler (GCC, Clang, or MSVC)
- Consul: Required for service discovery (Default:
http://localhost:8500)
Follow these steps to build the application from source:
-
Navigate to the project directory:
cd edgex-gui -
Setup Build Environment:
mkdir build && cd build
-
Configure & Compile:
cmake .. make -j$(nproc)
If using WSL, ensure an X-Server (like GWSL or VcXsrv) is running on your host.
# In the project root:
export DISPLAY=:0
./build/bin/edgex-qt-uiNavigate to the build\bin folder and execute:
.\edgex-qt-ui.exe- "No such file or directory" when running: Ensure you are in the correct directory. If you are already inside
build, use./bin/edgex-qt-ui. - Display Errors (WSL): If the app fails to open, verify your
DISPLAYvariable. Useexport DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0if:0doesn't work. - Consul Connection: If System Status is empty, ensure Consul is running and accessible at the URL defined in Settings.
The application stores settings in a config.json file.
- Linux:
~/.config/edgex-qt-ui/config.json - Windows:
AppData\Local\edgex-qt-ui\config.json
- Font: Montserrat (Included in system or available via Google Fonts).
- Branding: Logos and styles are maintained in
src/resources/andsrc/ModernTheme.qss.