Ich versuche, die Qt Systray Beispiel hier zu kopieren: http://doc.qt.io/archives/4.6/desktop-systray.htmlQt QSystemTrayIcon nicht aktivierte Signal sendet
Dinge scheinen außer zu arbeiten, dass die QSystemTrayIcon Objekt wird ein Aktivierungssignal nicht sendet.
Hier ist mein mainwindow.cpp Code:
#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;
}
Ich bin mit Qt 4.5.2 auf Windows XP SP2. Könnte das ein Problem mit Windows XP sein? Oder mache ich etwas falsch? Ich habe kein QIcon-Set für das TrayIcon. Ist das ein Problem?
Jede Hilfe wäre willkommen.
Danke! Jieren
Es ist nicht klar aus Ihrer Beschreibung, daher muss ich fragen: Funktioniert das Original (von Qt) System Tray Icon Beispiel? –
Habe es gerade getestet. Rechtsklick funktioniert, aber Doppelklick funktioniert seltsamerweise nicht. Aber aus irgendeinem Grund sendet das SystemTray-Objekt nicht einmal das aktivierte() Signal. Ich habe sogar ein QIcon gesetzt. Immer noch nichts. Grrrrrrr. – Jieren