[Interest] QML id property to string?

Jérôme Godbout jerome at bodycad.com
Thu Mar 10 19:07:29 CET 2016


You can create a C++ method for this, expose it into a C++ singleton to
easily access it:

Q_INVOKABLE QString MySingleton::idName(QObject * object) const
{
const auto context = qmlContext(object);
return context ? context->nameForObject(object): QString("context not
found");
}

http://doc.qt.io/qt-5/qqmlcontext.html#nameForObject

For Qml it return the context id.

Other useful methods would be address and file where the object come from:
Q_INVOKABLE QString MySingleton::objHexAddress(QObject * object) const
{
return QString().sprintf("%08p", object);
}

Q_INVOKABLE QUrl MySingleton::whereAmIDeclared(QObject * object) const
{
if (object)
if (auto context = QQmlEngine::contextForObject(object))
return context->baseUrl();
return QUrl();
}

This help a lot to debug into the console.
Regards,
Jerome

On Thu, Mar 10, 2016 at 12:45 PM, Jason H <jhihn at gmx.com> wrote:

> Yes, Ideally what I want:
> 1. Be able to get object id as string
> 2. Search the object heirarchy for that string and get that object
>
> *Sent:* Thursday, March 10, 2016 at 12:14 PM
> *From:* "Dmitry Volosnykh" <dmitry.volosnykh at gmail.com>
> *To:* "Jason H" <jhihn at gmx.com>, "interest at qt-project.org" <
> interest at qt-project.org>
> *Subject:* Re: [Interest] QML id property to string?
> I feel the same need frequently, too. Without such feature I have to set
> objectName by copy-pasting and qouting id. This is quite annoying.
>
> On Thu, Mar 10, 2016 at 8:08 PM Jason H <jhihn at gmx.com> wrote:
>
>> A few times now, I've wanted to display the id as a string. Usually when
>> something goes wrong on the console, but sometimes in a hash/map.  I've got
>> a function that takes an object (QML item) and does some processing on it.
>> Is there a way to get it? I know I can just set a property, but then that
>> has to be maintained separately.
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>
>
> _______________________________________________
> 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/20160310/5780a9ae/attachment.html>


More information about the Interest mailing list