Public Release v0.5.0 · KDAB/cxx-qt | TrylleAll releasesAdded
- Support for inheriting methods from the superclass into Rust using
#[cxx_qt::inherit].
- Register QML types at build time:
#[cxxqt::qobject(qml_uri = "foo.bar", qml_version = "1.0")]
- Register QRC resources at build time in Cargo builds (don't need to call initialization function from Rust
main function)
- Support for container types:
QSet<T>, QHash<K, V>, QList<T>, QMap<K, V>, QVector<T>
- Support for further types:
QByteArray, QCoreApplication, QGuiApplication, QMargins, QMarginsF, QModelIndex, QPersistentModelIndex, QQmlApplicationEngine, QQmlEngine, QStringList, QTimeZone, QVector2D, QVector3D, QVector4D
- Support for nesting objects in properties, invokables, and signals with
*mut T
- Allow for marking signals as existing in the base class
- Support for conversions to types in third-party crates:
bytes, chrono, http, rgb, time, url
- Add several quality of life functions to builtin cxx-qt-lib types, including
Default constructors, string formatting, std::cmp order and operators
Changed
QVariant now has a uses a QVariantValue trait for supported types, allowing custom types to be used with QVariant
QtGui and QtQml types in cxx-qt-lib are now behind the features qt_gui and qt_qml
Fixed
- Support for generating correct C++ code for
Pin<T> Rust types
- Support namespace attribute on shared types, QObject struct, and extern blocks
- Asserts for 32bit platforms such as Wasm
- Errors from the generation not pointing to the span where they occurred