I have no idea whether it is "worth" or not. I only know that if you use a declarative environment, you should program in a declarative way. At some point you might want to change something in your code and your imperative code might interfere with your changes causing you headache, nausea and other side effects. There is a Binding element in QML that does exactly what you want. However having read the thread again I think your initial problem might be that you interfere with GUI QML code from C++. Usually you'd do it the other way -- expose objects in C++ and then use them in QML. "Pulling" QML objects into C++ is considered bad practice.