2016-05-05 8 views
0

私は押したときにウィンドウをシステムトレイに隠すプッシュボタン付きのウィンドウを持っています。Qt Systrayアイコンを実装できません

システムトレイアイコンが表示されないという問題があります。 コードは何ですか、私は間違っていますか?

#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(); 
} 

ボタンを押すと、ウィンドウが隠されていますが、システムトレイのアイコンは表示されません。 なぜですか?

答えて

1

よくiは真のトレイアイコン

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

tray->setVisible(true); 
に見える設定しなければならなかった....

をそれを見つけました

関連する問題