3
我想在这里复制了Qt系统托盘例如: http://doc.qt.io/archives/4.6/desktop-systray.htmlQt的QSystemTrayIcon不发送激活信号
事情似乎只是QSystemTrayIcon对象不发送激活信号来工作。
这里是我的mainwindow.cpp代码:
#include <QtGui>
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
QMessageBox::information(0, tr("Systray"),
tr("Loaded."));
createTrayIcon();
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
SLOT(iconActivated(QSystemTrayIcon::ActivationReason)));
trayIcon->show();
}
void MainWindow::createTrayIcon()
{
trayIcon = new QSystemTrayIcon(this);
}
void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason)
{
QMessageBox::information(0, tr("Systray"),
tr("Testing"));
}
void MainWindow::messageClicked()
{
QMessageBox::information(0, tr("Systray"),
tr("Sorry, I already gave what help I could.\n"
"Maybe you should try asking a human?"));
}
MainWindow::~MainWindow()
{
delete ui;
}
我使用Qt 4.5.2在Windows XP SP2。这可能是Windows XP的问题吗?或者我做错了什么?我没有为trayIcon设置QIcon。那是问题吗?
任何帮助,将不胜感激。
谢谢! Jieren
从描述中不清楚,因此我必须问:原始(来自Qt)系统托盘图标示例是否工作? – 2009-06-28 23:27:09
刚刚测试过。右键单击确实有效,但双击却奇怪地没有。但由于某些原因,SystemTray对象甚至没有发送激活的()信号。我甚至设置了一个QIcon。依然没有。 Grrrrrrr。 – Jieren 2009-06-29 12:45:36