【发布时间】:2016-09-04 08:37:00
【问题描述】:
我想为我的应用程序创建一个托盘图标,以便在前者最小化后单击它时显示主窗口。
下面是实现:
托盘图标.h:
class TrayIcon_t : public QSystemTrayIcon {
Q_OBJECT
public:
TrayIcon_t();
};
托盘图标.cpp:
TrayIcon_t::TrayIcon_t() {
setIcon(QIcon(":/icons/tray.ico"));
}
Main.cpp(仅部分,没有更多与托盘相关的代码):
TrayIcon_t *tray = new TrayIcon_t;
QObject::connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), &MainWindow, SLOT(show()));
tray->show();
虽然在 LXDE 上它工作得很好,但在 MATE 桌面上,它通常会打开一个小菜单(我认为),其中不包含任何项目,并且不会发出要显示的主窗口所需的信号。 See this picture.
你认为我在 Qt 5.7.0 中遇到过错误吗?
【问题讨论】:
标签: c++ qt system-tray trayicon