2016-05-05 15 views
0

Ich habe ein Fenster mit einer Drucktaste, die das Fenster zum System Tray verbirgt, wenn es gedrückt wird.Qt Systray-Symbol kann nicht implementiert werden

Das Problem ist, dass kein Taskleistensymbol angezeigt wird. Hier ist der Code, was ich falsch mache?

#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include <QSystemTrayIcon> 
#include <QString> 
#include <QPixmap> 
#include <QIcon> 
#include <QAction> 
#include <QMenu> 


MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 

    //setup tray icon 
    QSystemTrayIcon *tray; 
    QPixmap icon(":/pencil.png"); 
    QIcon trayIcon; 

    tray= new QSystemTrayIcon(this); 
    trayIcon= QIcon(icon); 
    tray->setIcon(trayIcon); 
    tray->setToolTip("ToolTip"); 

    //setup restore 
    QAction *restoreAction; 
    restoreAction = new QAction(QIcon(":/pencil.png"), "Restore", this); 
    connect(restoreAction, SIGNAL(triggered()), this, SLOT(show())); 

    QMenu *trayIconMenu; 
    trayIconMenu = new QMenu(this); 
    trayIconMenu->addAction(restoreAction); 
    tray->setContextMenu(trayIconMenu); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

void MainWindow::on_pushButton_clicked() 
{ 
    this->hide(); 
} 

Ich drücke den Knopf das Fenster wird ausgeblendet, aber kein Systray Icon wird angezeigt. Warum?

Antwort

1

gut fand ich es ....

i sichtbar auf true Tray-Icon gesetzt hatte

trayIconMenu = new QMenu(this); 
trayIconMenu->addAction(restoreAction); 
tray->setContextMenu(trayIconMenu); 

tray->setVisible(true); 
Verwandte Themen