QtCS2016 MetaObject

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
  • qMetaType<const T>() == qMetaType<T>()
    • Because QMetaObject::normalizedType("const T") == "T"
    • Fix it
  • Q_NAMESPACE
    • Keep it in 5.8
    • look into having it with multiple .h
    • Q_ENUM_NS(OtherNamespace::Enum) or using Enum = OtherNamespace::Enum; is a good idea
  • Direct property access via the qt_static_metacall
    • qdbusxml2cpp
    • Add property & setProperty to QDBusAbstractInterfaceBase
  • Generated hash table
    • properties, methods, enums
    • hashing table needs to encode the type (Q_SIGNAL_CODE)
    • perfect hashing doesn't help
    • check if we can encode the hashing of the entire hierarchy
    • "prelink" the class to its parent, recursively, but check at runtime
  • For Qt6:
    • metatype vs C++ RTTI
    • qMetaType<T>() == &typeid(T)