Skip to main content
Skip to content
Home Developer
  • Documentation
  • API
  • KDE Human Interface Guidelines
      • Getting started
          • Building KDE software
            • Where to find the development team Learning more Choose what to work on Source code cross-referencing Installing build dependencies Set up a development environment Building KDE software with kdesrc-build Basic troubleshooting Tips and tricks
              • IDE Configuration
                • Visual Studio Code Qt Creator Kate KDevelop CLion Sublime Text
              Building KDE software manually Building KDE software with distrobox and podman
          • Kirigami
            • Setting up and getting started Explaining pages Layouts, ListViews, and Cards Adding actions Adding a dialog Using separate files Next steps Colors Typography Actions based components Page rows and page stacks Scrollable pages and list views Cards Drawers Chips Dialog types Controls and interactive elements Form layouts Inline messages Action toolbars Progress bars and indicators List views Understanding CMakeLists Figuring out main.cpp Connect logic to your QML user interface Connect models to your QML user interface About page Introduction to Kirigami Addons FormCard About pages Form delegates in your settings pages
          • KXmlGui
            • Hello World! Creating the main window Using actions Saving and loading Command line interface
          • Python with Kirigami
            • Your first Python + Kirigami application Creating a Python package Publishing your Python app as a Flatpak
          • Common programming mistakes
          • New project
      • Features
          • Icons
          • Configuration
            • Introduction to KConfig Using KConfig XT KDE Frameworks 6 porting guide Settings module (KCM) development KConfigDialog
          • D-Bus
            • Introduction to D-Bus Accessing D-Bus interfaces Intermediate D-Bus Creating D-Bus interfaces Using custom types with D-Bus D-Bus autostart services
          • Mouse cursor
          • Session management
          • Archives
          • Desktop file
          • KAuth
            • Using actions in your applications
          • KIdleTime
          • Personal Information Management
            • Debugging Akonadi Resources Using Akonadi in applications
          • Concurrent programming
          • Solid
          • Sonnet
      • Plasma themes and plugins
          • Plasma Widget tutorial
            • Setup Porting Plasmoids to KF6 Testing QML Plasma's QML API Widget Properties Configuration Translations / i18n Examples C++ API
          • KWin Effects
          • Plasma Desktop scripting
            • Templates Examples API documentation Configuration keys
          • Plasma Style tutorial
            • Creating a Plasma Style quickstart Understanding Plasma Styles SVG elements and Inkscape Background SVG format System and accent colors Theme elements reference Porting themes to Plasma 6 Porting theme to Plasma 5
          Aurorae window decorations
          • KWin scripting tutorial
            • KWin scripting API
          • Wallpapers
          • Plasma Comic
            • Examples Testing and debugging
          • Create a custom Window Switcher
          • KRunner C++ plugin
            • KRunner metadata format
      • Applications
          • Creating sensor faces
          • Dolphin
              • Creating Dolphin Service Menus
          • Kate
            • Kate plugin tutorial
          • KMines
            • Making a KMines theme
          • Writing tests
            • Appium automation testing
      • Packaging
          • Android
            • Building applications for Android Packaging and publishing
              • Publishing on Google Play
                • Packaging your app Adding your app to Google Play Publishing your app Releasing new versions of old apps
              • Porting Applications to Android
                • Basic Porting Making Applications run well on Android Metadata
          • Windows
            • Packaging and publishing
              • Publish your app in the Microsoft Store
                • Packaging Submitting your app to the Microsoft Store
          • Plasma Mobile
            • Porting a new device to Plasma Mobile
              • Plasma Mobile Telephony stack
                  • Kernel layer
                  • System daemon
                    • Developing Telephony functionality ModemManager Telephony functions
                  • Session daemons
                  • QML declarative plugin layer
                  • KDE application layer
              Execute applications
          • Distributing KDE Software as Flatpak
            • Your first Flatpak Extending your package Nightly Flatpaks and Flathub Flatpak integration
      • System administration
          • Shell scripting with KDE dialogs
          • Kiosk - Simple configuration management for large deployment
            • Introduction to Kiosk Kiosk keys
      • Contribute to the documentation
        • Formatting your tutorial Styling your tutorial
Edit this page See source code Create documentation issue Formatting guidelines Style guidelines
  1. Documentation
  2. Features
  3. D-Bus

D-Bus

Inter-Process communication using D-Bus

Introduction to D-Bus

An introduction to the core concepts of D-Bus from an application developer's perspective.

Accessing D-Bus interfaces

A step-by-step guide to calling D-Bus methods and connecting to D-Bus signals using QtDBus.

Intermediate D-Bus

Tips to make use of QtDBus when faced with problematic real-world interfaces.

Creating D-Bus interfaces

Learn how to expose functionality in your application by creating and using custom D-Bus interfaces. Covers generating the XML descriptions, instantiating interfaces at run time and setting up the build system with CMake.

Using custom types with D-Bus

Using custom types as arguments of D-Bus method calls.

D-Bus autostart services

Turn your application into a D-Bus autostart service with this tutorial. This D-Bus feature, also known as "D-Bus service activation", will ensure that even when your application isn't running that D-Bus calls made to it will work by relying on the D-Bus daemon itself to start your app if and when needed.

© 2024 The KDE Community CC-BY-SA-4.0