QtCS2016 MetaObject

From Qt Wiki
Jump to navigation Jump to search
  • qMetaType<const T>() == qMetaType<T>()
    • Because QMetaObject::normalizedType("const T") == "T"
    • Fix it
    • 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)