Hello @MonkeyBusiness
The use case you are describing is not very usual, and that's why you might have find difficult to do it.
As stated before, you can embed a Python interpreter within your C++ application, which can help you to have a Python interface that can interact with some of the C++ objects of your application.
This is known as making a Qt/C++ application scriptable with Python.
You could create a QWidget from Python, and display that like a QMessageBox, QLabel, QTreeWidget, etc, but that requires a bit more work, because that needs a runtime registration of the bindings to be generated.
There has been some internal work on dynamic Python bindings within C++ applications, but it's not released yet.
Like other recommendations, it seems that you can rely on .ui files for easily creating interfaces for your C++ application, rather than trying to expose python widgets to C++.