用jsp实现网站开发的流程,网站备案主体负责人,娄底高端网站建设,企业公司网站制作建设让我们的程序拥有任务栏托盘图标#xff0c;实现程序后台运行#xff0c;退出等功能
1、关闭程序保持后台
重写关闭事件,忽略点击窗口关闭
void MainWindow::closeEvent(QCloseEvent *event)
{// 隐藏窗口#xff0c;而不是真正关闭setVisible(false);// 忽略关闭事件实现程序后台运行退出等功能
1、关闭程序保持后台
重写关闭事件,忽略点击窗口关闭
void MainWindow::closeEvent(QCloseEvent *event)
{// 隐藏窗口而不是真正关闭setVisible(false);// 忽略关闭事件阻止窗口真正关闭event-ignore();
}2、添加任务栏托盘图标 创建一个任务链托盘图标添加上退出和显示的菜单按钮定义显示的槽函数
// 创建系统托盘图标对象QSystemTrayIcon* pSystemTray new QSystemTrayIcon(w);// 判断系统托盘图标是否创建成功if (NULL ! pSystemTray) {// 设置托盘图标pSystemTray-setIcon(QIcon(:/res/totle.svg));// 设置托盘图标的提示信息pSystemTray-setToolTip(别坐着了);// 显示托盘图标pSystemTray-show();}// ---------- 创建托盘菜单 ----------// 创建托盘菜单对象auto* trayMenu new QMenu(w);// 创建“显示面板”菜单项auto* showPanelAction new QAction(显示面板, w);// 连接菜单项的触发信号与主窗口的showPanel槽函数QObject::connect(showPanelAction,QAction::triggered,w,MainWindow::showPanel);// 将菜单项添加到托盘菜单中trayMenu-addAction(showPanelAction);// 创建“退出”菜单项auto* quitAction new QAction(退出,w);// 连接菜单项的触发信号与 QApplication 的 quit() 槽函数QObject::connect(quitAction,QAction::triggered,w,QApplication::quit);// 将菜单项添加到托盘菜单中trayMenu-addAction(quitAction);// 设置托盘图标的上下文菜单pSystemTray-setContextMenu(trayMenu);// 显示托盘图标pSystemTray-show();完整代码
main。cpp
#include mainwindow.h
#include QApplication
#include QSystemTrayIcon
#include QMenu
int main(int argc, char *argv[])
{// 创建 Qt 应用程序对象QApplication a(argc, argv);// 创建主窗口对象MainWindow w;// ---------- 设置任务栏托盘图标 ----------// 创建系统托盘图标对象QSystemTrayIcon* pSystemTray new QSystemTrayIcon(w);// 判断系统托盘图标是否创建成功if (NULL ! pSystemTray) {// 设置托盘图标pSystemTray-setIcon(QIcon(:/res/totle.svg));// 设置托盘图标的提示信息pSystemTray-setToolTip(别坐着了);// 显示托盘图标pSystemTray-show();}// ---------- 创建托盘菜单 ----------// 创建托盘菜单对象auto* trayMenu new QMenu(w);// 创建“显示面板”菜单项auto* showPanelAction new QAction(显示面板, w);// 连接菜单项的触发信号与主窗口的showPanel槽函数QObject::connect(showPanelAction,QAction::triggered,w,MainWindow::showPanel);// 将菜单项添加到托盘菜单中trayMenu-addAction(showPanelAction);// 创建“退出”菜单项auto* quitAction new QAction(退出,w);// 连接菜单项的触发信号与 QApplication 的 quit() 槽函数QObject::connect(quitAction,QAction::triggered,w,QApplication::quit);// 将菜单项添加到托盘菜单中trayMenu-addAction(quitAction);// 设置托盘图标的上下文菜单pSystemTray-setContextMenu(trayMenu);// 显示托盘图标pSystemTray-show();// 进入应用程序事件循环return a.exec();
}
mainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include QMessageBox
#include QMainWindow
#include QCloseEvent
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic slots:void showPanel();
public:MainWindow(QWidget *parent nullptr);~MainWindow();void closeEvent(QCloseEvent *event);private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainWindow.cpp
#include mainwindow.h
#include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui-setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::closeEvent(QCloseEvent *event)
{// 隐藏窗口而不是真正关闭setVisible(false);// 忽略关闭事件阻止窗口真正关闭event-ignore();
}void MainWindow::showPanel()
{// 显示窗口this-show();// 将窗口置顶确保其显示在最前面this-raise();
}
纯真丁一郎的博客有时间就要学习