This Elevator System Simulator was built entirely in C++ using the Qt framework, showcasing a deep understanding of event-driven GUI design and real-world elevator control logic. The system simulates a multi-floor elevator interface with interactive button presses, floor-to-floor travel, direction indicators, and a dynamic state machine handling requests in real-time. The simulator can respond to both external (hall call) and internal (car call) requests while prioritizing direction and optimizing stops, mimicking the logic found in real elevator systems.
We implemented state diagrams, flowcharts, and UML class designs during the planning phase, ensuring the logic was both efficient and scalable. The UI allows users to request specific floors via buttons, and the elevator provides clear visual feedback through a digital floor display and directional indicators. Users can observe the elevator stopping at intermediate floors, updating its route logic on the fly. The entire system operates smoothly through Qt’s signal-slot mechanism, providing clean separation between business logic and the interface layer.
In addition to basic simulation, we accounted for key safety scenarios, such as emergency stop buttons and prevention of logic bugs like duplicate call handling or rapid re-entry to the same floor. Thanks to Qt’s timer and signal event system, the elevator animation moves at a realistic pace, giving users a natural interaction experience. The elevator logic is modular, enabling quick future upgrades like adding a second elevator shaft or building-wide logic coordination.