Je suis en train de copier l'exemple systray Qt ici: http://doc.qt.io/archives/4.6/desktop-systray.htmlQt QSystemTrayIcon ne pas envoyer le signal activé
Les choses semblent fonctionner, sauf que l'objet QSystemTrayIcon n'envoie un signal d'activation.
Voici mon code 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;
}
J'utilise Qt 4.5.2 sous Windows XP SP2. Cela pourrait-il être un problème avec Windows XP? Ou est-ce que je fais quelque chose de mal? Je n'ai pas de QIcon pour le trayIcon. Est-ce un problème?
Toute aide serait appréciée.
Merci! Jieren
Ce n'est pas clair à partir de votre description, par conséquent je dois demander: Est-ce que l'exemple original de l'icône de la barre d'état système (à partir de Qt) fonctionne? –
Juste testé. Le clic droit fonctionne, mais le double-clic ne fonctionne pas étrangement. Mais pour une raison quelconque, l'objet SystemTray n'envoie même pas le signal activated(). J'ai même mis un QIcon. Toujours rien. Grrrrrrr. – Jieren