Ich verstecke das Hauptfenster mit setVisible(true); so das nur das TrayIcon sichtbar ist:
Code: Alles auswählen
void Prog::CreateTray(){
QMenu *TrayIconMenu = new QMenu(this);
QAction *aEntry = new QAction(QIcon(":/Icons/add.png"), tr("&Test"), this);
connect(aEntry, SIGNAL(triggered()), this, SLOT(Entry()));
TrayIcon = new QSystemTrayIcon(this);
TrayIconMenu->addAction(aEntry);
TrayIcon->setContextMenu(TrayIconMenu);
TrayIcon->setIcon(QIcon(":/Icons/Icon.png"));
TrayIcon->show();
}
Code: Alles auswählen
void Prog::Entry(){
// show();
bool ok;
QString text = QInputDialog::getText(this , "Test", "Geben Sie ein Wort ein.", QLineEdit::Normal, "", &ok);
}
Anderer Versuch: Wenn ich setVisible(true); wieder reinnehme (Fenster ist also unsichtbar) und die Routine Entry() direkt aufrufe, ohne das ich es im Traymenü anklicke, dann geht auch alles wie es soll. Nur wenn ich manuell den Menüeintrag auswähle und anklicke beendet sich mein Programm. Was mache ich da falsch?
Bin für Hinweise dankbar,
Teetrinker