QML and C++ — when to use each of them