[Interest] Enumerating context properties from QML

Jérôme Godbout jerome at bodycad.com
Wed Dec 20 17:21:29 CET 2017


I'm not sure it will work but one might try. You might recover the object
context and maybe scan the meta object to find the properties.

*auto context = QQmlEngine::contextForObject(myObjPtr);*

Since there's no getter into the context directly. The only getter is
*contextProperty(const QString& name)*

Maybe the meta object of the context could hold some information, not sure
it will help but can give some idea.
*auto meta_obj = context->metaObject();*

Iterate on properties to see if you can extract some information out of it
*for(int i = 0; i < meta_obj->propertyCount(); ++i)*
*{*
*  auto meta_property = **meta_obj->**property(i);*

*  // check if the property hold anything of interest here
http://doc.qt.io/qt-5/qmetaproperty.html
<http://doc.qt.io/qt-5/qmetaproperty.html>*
*}*

I'm really not sure if this could extract anything from Context value but
might worth a small test. Check into the meta info, maybe something can
salvage the information (we do this to inspect particular object to debug
them but for Context, I never really tried.

[image: bodycad] <https://www.bodycad.com/>
Jerome Godbout
Software Developer
2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7
T:  +1 418 527-1388
E: jerome at bodycad.com
www.bodycad.com

The contents of this email message and any attachments are intended solely
for the addressee(s) and may contain confidential and/or privileged
information and may be legally protected from disclosure. If you are not
the intended recipient of this message or their agent, or if this message
has been addressed to you in error, please immediately alert the sender by
reply email and then delete this message and any attachments. If you are
not the intended recipient, you are hereby notified that any use,
dissemination, copying, or storage of this message or its attachments is
strictly prohibited.

Le contenu de ce message et les pièces jointes sont destinés uniquement
pour le(s) destinataire(s) et peuvent contenir des informations
confidentielles et / ou privilégiées qui peuvent être protégées légalement
contre toute divulgation. Si vous n'êtes pas le destinataire de ce message
ou son agent, ou si ce message vous a été adressé par erreur, s’il vous
plaît avertir immédiatement l'expéditeur par courriel de réponse, puis
supprimer ce message et les pièces jointes. Si vous n'êtes pas le
destinataire prévu, vous êtes par la présente informé que toute
utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces
jointes est strictement interdit.

On Tue, Dec 19, 2017 at 7:08 PM, Alexander Ivash <elderorb at gmail.com> wrote:

> Let's say I exposed 'property1' to QML from C++ using
> setContextProperty. How can I enumerate all the context properties
> exposed from QML side? I've tried enumerating properties of 'Qt'
> object but obviously it didn't work.
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20171220/4cea497e/attachment.html>


More information about the Interest mailing list