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

Sérgio Martins sergio.martins at kdab.com
Wed Jul 17 13:37:12 CEST 2019


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