#include "widget.h"
|
|
#include "ui_widget.h"
|
|
#include "menudialog.h"
|
|
#include <QDebug>
|
|
#include <QPushButton>
|
|
#include <QSystemTrayIcon>
|
|
#include <QMenu>
|
|
#include <QAction>
|
|
#include <QDebug>
|
|
#include <QWidgetAction>
|
|
|
|
|
|
Widget::Widget(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::Widget)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
setWindowFlags(Qt::Tool);
|
|
CreateSystemTrayIcon(); //创建托盘
|
|
}
|
|
|
|
Widget::~Widget()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void Widget::CreateSystemTrayIcon()
|
|
{
|
|
|
|
QWidgetAction *pWdtAction = new QWidgetAction(this);
|
|
MenuDialog * menudialog = new MenuDialog();
|
|
pWdtAction->setDefaultWidget(menudialog);
|
|
|
|
//初始化菜单并添加项
|
|
QMenu* trayMenu = new QMenu(this);//菜单
|
|
trayMenu->addAction(pWdtAction);
|
|
|
|
//创建一个系统托盘
|
|
QSystemTrayIcon* trayIcon = new QSystemTrayIcon(this);
|
|
trayIcon->setIcon(QIcon("://app.ico")); //设置托盘图标
|
|
trayIcon->setToolTip("Shell_Notify"); //鼠标放上去显示的东东
|
|
trayIcon->setContextMenu(trayMenu); //设置菜单
|
|
trayIcon->show();
|
|
|
|
connect(trayIcon, &QSystemTrayIcon::activated, this, [=](QSystemTrayIcon::ActivationReason reason)
|
|
{
|
|
menudialog->uodateNumbers();
|
|
if( reason == 3){ //鼠标左键
|
|
trayIcon->contextMenu()->exec(QCursor::pos());
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
|