Auf dieser Seite

qt_add_dbus_interface

Erzeugt C++-Quellcode zur Implementierung einer Schnittstelle für eine D-Bus-Schnittstellenbeschreibungsdatei.

Der Befehl ist in der Komponente „ DBus “ des Pakets „ Qt6 “ definiert. Laden Sie das Paket mit folgendem Befehl:

find_package(Qt6 REQUIRED COMPONENTS DBus)

Dieser Befehl wurde in Qt 6.0 eingeführt.

Syntax

qt_add_dbus_interface(<VAR> dbus_spec basename)

Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen „ qt6_add_dbus_interface() “. Dieser Befehl unterstützt dieselben Argumente wie der vorliegende Befehl.

Beschreibung

Erzeugt C++-Quelldateien, die eine Schnittstelle für eine in „ dbus_spec “ definierte D-Bus-Schnittstellenbeschreibungsdatei implementieren. Die erzeugten Dateien werden nach „ basename “ benannt: „ basename.h “, „ basename.cpp “, „ basename.moc “. Die Pfade der Dateien werden zu „ <VAR> “ hinzugefügt.

Die Funktion richtet einen Aufruf des XML-Compilers „Qt D-Bus “ (qdbusxml2cpp) im Schnittstellen- (Proxy-)Modus ein. Standardmäßig generiert „ qdbusxml2cpp “ eine C++-Klasse, die nach dem Schnittstellennamen benannt ist und einen Alias mit Namespace enthält:

D-Bus-SchnittstellennameKlassennameName mit Namespace
org.example.chatOrgExampleChatInterfaceorg.example.chat

Optionen

Optionen können über „ set_source_files_properties “ im „ dbus_spec “ festgelegt werden:

OptionWertBeschreibung
CLASSNAMEclass_nameÜberschreiben Sie den Namen der Standard-Interface-Klasse mit ` class_name`.
NO_NAMESPACEboolWenn auf „ ON “ gesetzt, wird der Name mit Namespace nicht generiert.
INCLUDEpathFügt ein „ #include "path" “ in den generierten Code ein.

© 2026 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.