Changes to Qt D-Bus

Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.

We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.

In this topic we summarize those changes in Qt DBus, and provide guidance to handle them.

API changes

The QtDBus module has undergone some basic consolidation and cleanup. There should be minimal porting effort to be able to switch to Qt6.

The QDBusMessage class

The QDBusMessage::call() and QDBusMessage::asyncCall() methods with a fixed size of arguments have been removed in Qt6.

The QDBusArgument class

The QDBusArgument::operator<<() specializations for QHash, QMap and QList have been unified into common specializations for associative containers.

The QDBusConnection class

The QDBusConnection::sender() function has been removed in Qt6.

The QDBusMessage class

The QDBusMessage::createErrorReply() function now takes the QString name argument by const reference instead of taking by value.

The QDBusPendingReply class

QDBusPendingReply has been changed to be a variadic template class in order to support more than 8 template parameters now. The template parameters are the types that will be used to extract the contents of the reply's data.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.