这里是similar problem,但我无法从中获得答案。
我尝试official example并看到以下截图(在镜头中,qt app系统托盘不存在)
如何制作系统托盘?
这是我的CMakeLists.txt
cmake_minimum_required(VERSION 3.3)
project(systray)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(Qt5Widgets_DIR /home/roroco/Qt/5.5/gcc_64/lib/cmake/Qt5Widgets)
set(Qt5Gui_DIR /home/roroco/Qt/5.5/gcc_64/lib/cmake/Qt5Gui)
find_package(Qt5Widgets)
add_executable(main main.cpp window.cpp systray.qrc)
target_link_libraries(main Qt5::Widgets)
我的linux版本(桌面环境是xfce)
roroco@roroco ~/Pictures $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 17.2 Rafaela
Release: 17.2
Codename: rafaela
答案 0 :(得分:0)
我从this
获得解决方案然后在' session&启动'我创建了一个新的自动启动条目 以下命令:
bash -c'导出DBUS_SESSION_BUS_ADDRESS ="" &安培;&安培; dropbox start -i'
所以丑陋的解决方案是在启动qt app之前确保DBUS_SESSION_BUS_ADDRESS,我希望有人可以改进这个答案并告诉我它的机制