we used to call it RAD (rapid application development) and I am not sure what the top notch bestest C++ tools for it today are (back when, visual studio and borland were pretty solid). The idea is pretty simple, though: you build a gui-only program with no real code inside, just menus, buttons, toolbars or whatnot for the UI and hitting a button might give a text popup as to what it would do, but not actually do anything big.
The first step is critical, and that is picking the GUI tool you want to learn. Some of the options here might include QT, MFC, or even doing the UI in another language like python or C# with intent to call C++ for the 'real' code. Once you pick one stay with it for a while, and ask again about that specific tool if you need help with it.
Once you have the tool, take the RAD approach and just build out what you want, then run it and exercise it with a little imagination on the 'what if I hit this button'.
many slick looking UI are just a custom drawn standard control or loosely linked controls. That is as much about your ability to draw a nice texture in a 2d paint program as it is coding -- for really good stuff you may want an artist if you are not one but as you learn you can do something crude or get something off the web.
there are all kinds of resources like learncpp to help here, and there are principles that you follow in good UI design that have changed a little over the decades but the main ideas are easy to understand. Don't put code in the UI is one of my rules.. like a button, its easy to dump a bunch of code into a button handler but if you do that, changing things later is aggravating. Its a lot better if your button handler just calls non-gui-functions and you keep the UI totally separate from the work code -- that way in 5 years when the UI looks dated and needs a do-over, you don't have to untangle it. Consider some sites like this:
https://www.uxdesigninstitute.com/blog/10-user-interface-guidelines/