I thought, the QSystemTrayIcon is in the notification area, automatically. Because we have this area activated and it only appears within this area. Here ist the output of dbus-monitor: QT4 app: method call time=1530618711.195260 sender=:1.901 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618711.195277 sender=org.freedesktop.DBus -> destination=:1.901 serial=1 reply_serial=1 string ":1.901" signal time=1530618711.195283 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.901" string "" string ":1.901" signal time=1530618711.195291 sender=org.freedesktop.DBus -> destination=:1.901 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.901" method call time=1530618711.195759 sender=:1.901 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',member='NameOwnerChanged',arg0='org.gnome.GConf'" method call time=1530618711.199344 sender=:1.901 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='method_call',interface='org.gnome.GConf.Database',member='Notify'" method call time=1530618711.199795 sender=:1.901 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',interface='org.gnome.GConf.Server',member='Bye'" method call time=1530618711.200079 sender=:1.901 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',member='Disconnected'" method call time=1530618711.200335 sender=:1.901 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName string "org.gnome.GConf" uint32 0 method return time=1530618711.200347 sender=org.freedesktop.DBus -> destination=:1.901 serial=3 reply_serial=6 uint32 2 method call time=1530618711.200694 sender=:1.901 -> destination=org.gnome.GConf serial=7 path=/org/gnome/GConf/Server; interface=org.gnome.GConf.Server; member=GetDefaultDatabase method return time=1530618711.200704 sender=:1.79 -> destination=:1.901 serial=217 reply_serial=7 object path "/org/gnome/GConf/Database/0" method call time=1530618711.200822 sender=:1.901 -> destination=org.gnome.GConf serial=8 path=/org/gnome/GConf/Database/0; interface=org.gnome.GConf.Database; member=LookupExtended string "/desktop/gnome/interface/menus_have_icons" string "en_US.UTF-8" boolean true method return time=1530618711.200836 sender=:1.79 -> destination=:1.901 serial=218 reply_serial=8 struct { string "/desktop/gnome/interface/menus_have_icons" struct { int32 4 boolean false } boolean true string "/schemas/desktop/gnome/interface/menus_have_icons" boolean true boolean true } signal time=1530618711.211488 sender=:1.793 -> destination=(null destination) serial=282 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientAdded object path "/org/gnome/SessionManager/Client50" method call time=1530618711.230086 sender=:1.902 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618711.230106 sender=org.freedesktop.DBus -> destination=:1.902 serial=1 reply_serial=1 string ":1.902" signal time=1530618711.230114 sender=org.freedesktop.DBus -> destination=(null destination) serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.902" string "" string ":1.902" signal time=1530618711.230122 sender=org.freedesktop.DBus -> destination=:1.902 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.902" method call time=1530618711.232693 sender=:1.902 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/com/canonical/desktop/interface/'" method return time=1530618711.232715 sender=org.freedesktop.DBus -> destination=:1.902 serial=3 reply_serial=2 QT5 app (I removed the menu, there): signal time=1530618674.574963 sender=:1.793 -> destination=(null destination) serial=280 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientAdded object path "/org/gnome/SessionManager/Client49" method call time=1530618674.580873 sender=:1.899 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618674.580889 sender=org.freedesktop.DBus -> destination=:1.899 serial=1 reply_serial=1 string ":1.899" signal time=1530618674.580895 sender=org.freedesktop.DBus -> destination=(null destination) serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.899" string "" string ":1.899" signal time=1530618674.580902 sender=org.freedesktop.DBus -> destination=:1.899 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.899" method call time=1530618674.584173 sender=:1.899 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher',arg1=''" method call time=1530618674.584828 sender=:1.899 -> destination=org.kde.StatusNotifierWatcher serial=3 path=/StatusNotifierWatcher; interface=org.freedesktop.DBus.Introspectable; member=Introspect error time=1530618674.584840 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=3 string "The name org.kde.StatusNotifierWatcher was not provided by any .service files" method call time=1530618674.585247 sender=:1.899 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher'" method call time=1530618674.585467 sender=:1.899 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string "org.kde.StatusNotifierWatcher" error time=1530618674.585479 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.NameHasNoOwner reply_serial=5 string "Could not get owner of name 'org.kde.StatusNotifierWatcher': no such name" method call time=1530618674.585848 sender=:1.899 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher'" method call time=1530618674.586185 sender=:1.899 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.DBus'" error time=1530618674.586203 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.MatchRuleNotFound reply_serial=7 string "The given match rule wasn't found and can't be removed" method call time=1530618674.586718 sender=:1.899 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher',arg1=''" method call time=1530618674.616023 sender=:1.899 -> destination=org.freedesktop.DBus serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus',arg1=''" method call time=1530618674.616979 sender=:1.899 -> destination=org.freedesktop.DBus serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner string "org.a11y.Bus" method return time=1530618674.616995 sender=org.freedesktop.DBus -> destination=:1.899 serial=6 reply_serial=10 boolean true method call time=1530618674.617356 sender=:1.899 -> destination=org.freedesktop.DBus serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus'" method call time=1530618674.617706 sender=:1.899 -> destination=org.freedesktop.DBus serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string "org.a11y.Bus" method return time=1530618674.617717 sender=org.freedesktop.DBus -> destination=:1.899 serial=7 reply_serial=12 string ":1.7" method call time=1530618674.618272 sender=:1.899 -> destination=org.a11y.Bus serial=13 path=/org/a11y/bus; interface=org.freedesktop.DBus.Properties; member=Get string "org.a11y.Status" string "ScreenReaderEnabled" method return time=1530618674.618362 sender=:1.7 -> destination=:1.899 serial=245 reply_serial=13 variant boolean false