# A simple way to create GUIs for your ROS 2 project

**URL:** <https://discourse.openrobotics.org/t/a-simple-way-to-create-guis-for-your-ros-2-project/41847>\
**Category:** Projects\
**Tags:** ros2\
**Created:** [February 3, 2025, 12:59pm UTC](https://discourse.openrobotics.org/t/a-simple-way-to-create-guis-for-your-ros-2-project/41847 "2025-02-03T12:59:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ssarkar](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ssarkar/32/29958_2.png) [@ssarkar](https://discourse.openrobotics.org/u/ssarkar)\
**Post date:** [February 3, 2025, 12:59pm UTC](https://discourse.openrobotics.org/t/a-simple-way-to-create-guis-for-your-ros-2-project/41847/1 "2025-02-03T12:59:27Z")

</div>

Hey y’all,

I hope you are doing well. I have been working on creating a simple GUI using Qt and interfacing with ROS 2. I’m not a GUI designer by any means, so I used the Qt Designer application for a more “drag-and-drop” experience. Something that I’m really happy about here is the separation of the ROS 2 part and the UI part, allowing you to edit and add more complex functionality without having to figure out what goes where _(most of the time)_.

For now, I have a simple demonstration of how to work with ROS 2 topics and services, and I’ve used Buttons and Labels, something that I think would be the most useful for anyone who wants a quick GUI application to control their ROS 2 project.

![Here's a demo of the GUI](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/e/3/e3f0c7dcbf8cfc3c64956fe03c94eac89989b7c7.gif)

I’ve struggled a bit to showcase the position of the robot in the world - creating a custom widget and then exposing the functionality to update the robot’s pose on the map. It’s not something super cool, but it works for now. As I get more free time, I’ll dive into seeing what improvements can be made.

You’ll find the project [here](https://github.com/sampreets3/simple_gui). I’d love it if you’d go and check out the project.

If you’d like to contribute, feel free to create a PR. If you’d like to see a new feature, feel free to create an issue. I’m trying to gauge a bit more on what features would be necessary/interesting.

Cheers,

Sampreet
