[Interest] Accessing staticMetaObject of Q_GADGET class by name or TypeID

Shady Zayat shadyzay at gmail.com
Wed Jan 23 01:19:49 CET 2013


I already do this by maintaining a big ugly if/else block to test for all
of my custom enumeration types. I actually just realized metaObjectForType
is available and I tried using it. The code looks much cleaner, but then it
doesn't work for the few enums that are not defined in QObjects.



On Tue, Jan 22, 2013 at 7:11 PM, Thiago Macieira
<thiago.macieira at intel.com>wrote:

> On terça-feira, 22 de janeiro de 2013 18.51.15, Shady Zayat wrote:
> > Is there a way to access the QMetaObject for a non QObject subclass that
> > has the Q_GADGET macro, in runtime, by class name or by type id? I'm
> > looking for something similar to
> >  const QMetaObject * QMetaType::metaObjectForType(int type)
>
> There's no central registration of QMetaObjects in Qt.
>
> If you want that, you need to create the registration yourself in your own
> application or library.
>
> > What I'm trying to write here is a generic function that returns the
> string
> > value of Q_ENUMS stored in a QVariant. Any hints appreciated.
>
> And you're trying to do this generically? You should restrict it to the
> classes you know about, so you can find their meta objects.
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>


-- 
Shady Zayat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130122/dcf943e2/attachment.html>


More information about the Interest mailing list