|
void MainFrame::closeEvent(QCloseEvent *event)
{
int r = QMessageBox::warning(
this,
tr("警告"),
tr("你确定要退出程序?\t"),
QMessageBox::Ok|QMessageBox::No
);
if(r == QMessageBox::Ok)
{
trayIcon->hide();
event->accept();//程序接受退出
}
if(r == QMessageBox::No)
event->ignore();//程序拒绝退出
}
void MainFrame::changeEvent(QEvent *e)
{
trayIcon->showMessage(tr("赵彦博"),
tr("最小化到这里"),
QSystemTrayIcon::Information,
1000
);
if(e->type()==QEvent::WindowStateChange)
{
if(windowState() == Qt::WindowMinimized)
{
QTimer::singleShot(1000, this, SLOT(hide()));
trayIcon->show();
}
}
}
void MainFrame::showMainFrame(QSystemTrayIcon::ActivationReason reason)
{
switch(reason)
{
case QSystemTrayIcon::Trigger:
case QSystemTrayIcon::DoubleClick:
case QSystemTrayIcon::MiddleClick:
setWindowState(Qt::WindowNoState);
show();
break;
}
} |
|