[Interest] How to set a non-global context property for a single QQmlComponent?

Patrick Stinson patrickkidd at gmail.com
Wed Jul 17 18:25:11 CEST 2019


Right, I did try that one but if I remember right I got an error setting the context property, or that it was the same as the engine root context.

> On Jul 17, 2019, at 3:37 AM, Sérgio Martins <sergio.martins at kdab.com> wrote:
> 
>> On 2019-07-17 10:58, Patrick Stinson wrote:
>> Shoot, you know at first pass it looks like that will work. Wow.
>> I wonder if this is possible to do with QQuickWidget? Or if not how to
>> show a component into a QWidget without QQuickWidget?
> 
> A colleague of mine offered a workaround:
> QQmlContext *subContext = QQmlEngine::contextForObject(myQuickWidget.rootObject())
> 
> That should be a subContext already, different from the engine->rootContext()
> 
> Regards,
> Sergio
> 
>>> On Jul 17, 2019, at 1:35 AM, Sérgio Martins <sergio.martins at kdab.com> wrote:
>>>> On 2019-07-17 10:15, Patrick Stinson wrote:
>>>> Hello!
>>>> Surely there must be a way to set a context property on a single
>>>> component without having to set it globally on the entire QQmlEngine?
>>>> Indeed, the QQmlContext documentation is silent on this point.
>>>> Help??
>>> Hi,
>>> You can create a child QQmlContext via this constructor [1], and then pass it to QQmlComponent::create()
>>> [1] - https://doc.qt.io/qt-5/qqmlcontext.html#QQmlContext-1
>>> Regards,
>>> --
>>> Sérgio Martins | sergio.martins at kdab.com | Senior Software Engineer
>>> Klarälvdalens Datakonsult AB, a KDAB Group company
>>> Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
>>> KDAB - The Qt, C++ and OpenGL Experts
> 
> -- 
> Sérgio Martins | sergio.martins at kdab.com | Senior Software Engineer
> Klarälvdalens Datakonsult AB, a KDAB Group company
> Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
> KDAB - The Qt, C++ and OpenGL Experts



More information about the Interest mailing list