当前位置: 首页 > wzjs >正文

姑苏区做网站中海外城市建设有限公司网站

姑苏区做网站,中海外城市建设有限公司网站,西安seo托管,外国网站的浏览器文章目录 托盘的功能QSystemTrayIcon 类QSystemTrayIcon类的常用函数代码实现 托盘的功能 GUI 程序,如果想要实现当最小化时,程序从任务栏消失,在系统托盘显示一个图标,表示此程序,并能在托盘内通过双击或者菜单使程序…

文章目录

    • 托盘的功能
    • QSystemTrayIcon 类
    • QSystemTrayIcon类的常用函数
    • 代码实现


托盘的功能

GUI 程序,如果想要实现当最小化时,程序从任务栏消失,在系统托盘显示一个图标,表示此程序,并能在托盘内通过双击或者菜单使程序界面恢复。
在这里插入图片描述


QSystemTrayIcon 类

托盘功能实现主要使用的类:QSystemTrayIcon
QSystemTrayIcon 是主要操作系统托盘的操作类,通过此类,可以在托盘显示指定程序的图标,响应用户鼠标的单击、双击、显示指定消息、显示菜单等。此类中有两个枚举类型,分别如下:

在这里插入图片描述


QSystemTrayIcon类的常用函数

1、void setIcon(const QIcon& icon);

主要用来设置托盘中的图标,通常与QIcon结合使用:

QIcon icon = QIcon(":/images/app.png");m_systemtray->setIcon(icon);

在这里插入图片描述

2、void setToolTip(const QString &tip);

设置鼠标悬停时的提示语;

m_systemtray->setToolTip("Test!!!!!");

在这里插入图片描述

3、void showContextMenu(QMenu *menu);

获取鼠标点击事件,当点击图标弹出的菜单;

m_systemtray->setContextMenu(m_menu);

在这里插入图片描述

4、void show();

功能:在系统托盘中显示图标;

 m_systemtray->show();

5、void showMessage();

系统提示消息;

void Widget::showMessage()
{
/*
void showMessage(const QString &title, const QString &msg,QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int msecs = 10000);
*/m_systemtray->showMessage("Information",//消息窗口标题"There is an message!",//消息内容QSystemTrayIcon::MessageIcon::Information,//消息窗口图标5000);//消息窗口显示时长
}

代码实现

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QMenu>
#include <QAction>
#include <QSystemTrayIcon>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots://显示主界面void showWindow();//鼠标点击显示系统提示消息void showMessage();//显示托盘菜单void showMenu();//退出应用void quit();//获取当前鼠标点击事件void activeTray(QSystemTrayIcon::ActivationReason reason);//点击按钮隐藏窗口到系统托盘void on_pushButton_clicked();private:Ui::Widget *ui;//创建一个托盘QSystemTrayIcon *m_systemtray;//创建一个托盘菜单QMenu *m_menu;//定义菜单事件QAction *m_action1;QAction *m_action2;QAction *m_action3;};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint);//定义一个托盘m_systemtray = new QSystemTrayIcon(this);//定义一个菜单m_menu = new QMenu(this);//定义菜单事件m_action1 = new QAction(m_menu);m_action2 = new QAction(m_menu);m_action3 = new QAction(m_menu);//给菜单事件命名m_action1->setText("Show Window");m_action2->setText("Show Message");m_action3->setText("quit");//将菜单事件添加到菜单中m_menu->addAction(m_action1);m_menu->addAction(m_action2);m_menu->addAction(m_action3);//关联触发事件connect(m_action1 , &QAction::triggered , this , &Widget::showWindow);connect(m_action2 , &QAction::triggered , this , &Widget::showMessage);connect(m_action3 , &QAction::triggered , this , &Widget::quit);//将菜单添加到托盘对象中m_systemtray->setContextMenu(m_menu);//点击托盘触发connect(m_systemtray , &QSystemTrayIcon::activated , this , &Widget::activeTray);connect(m_systemtray , &QSystemTrayIcon::messageClicked , this , &Widget::showWindow);
}Widget::~Widget()
{delete ui;
}void Widget::showWindow()
{this->show();
}void Widget::showMessage()
{m_systemtray->showMessage("Information",//消息窗口标题"There is an message!",//消息内容QSystemTrayIcon::MessageIcon::Information,//消息窗口图标5000);//消息窗口显示时长
}void Widget::showMenu()
{m_menu->show();
}void Widget::quit()
{this->close();
}void Widget::activeTray(QSystemTrayIcon::ActivationReason reason)
{switch(reason){case QSystemTrayIcon::Context:showMenu();break;case QSystemTrayIcon::DoubleClick:showWindow();break;case QSystemTrayIcon::Trigger:showMessage();break;}
}void Widget::on_pushButton_clicked()
{this->hide();QIcon icon = QIcon(":/images/app.png");m_systemtray->setIcon(icon);m_systemtray->setToolTip("Test!!!!!");m_systemtray->show();}

主要逻辑
1、点击图标QSystemTrayIcon::ActivationReason,触发鼠标点击connect事件,单击右键showMenu();、双击左键showWindow();、单击左键showMessage();
2、定义托盘对象,添加菜单,单击右键showMenu();,点击m_action触发connect事件, connect(m_action1,&QAction::triggered,this,&Widget::showWindow);
3、在主窗口设置一个按钮on_pushButton_clicked,点击按钮后触发托盘事件,将当前窗口hide();,在系统托盘中显示m_systemtray->show();



文章转载自:

http://x7v9Y5iY.pdghL.cn
http://wdtIFbmA.pdghL.cn
http://Gmu0uDIj.pdghL.cn
http://eK0H2nCW.pdghL.cn
http://kzi13qat.pdghL.cn
http://7ZW23gSd.pdghL.cn
http://D0GwahWy.pdghL.cn
http://WRE0UcsE.pdghL.cn
http://zsnHymaZ.pdghL.cn
http://AFnnCdBk.pdghL.cn
http://Sh2zrQlt.pdghL.cn
http://JBfFyLLV.pdghL.cn
http://40eMrFit.pdghL.cn
http://sTLPWhdG.pdghL.cn
http://fk1dbHPD.pdghL.cn
http://wwDD330X.pdghL.cn
http://gC2GXwul.pdghL.cn
http://2p1ewT0m.pdghL.cn
http://T7YW4hFA.pdghL.cn
http://qSRRD61M.pdghL.cn
http://BOQ7KUnU.pdghL.cn
http://CTX7yyeW.pdghL.cn
http://F9u29emW.pdghL.cn
http://v10VSYLM.pdghL.cn
http://fEPVUnfh.pdghL.cn
http://TF2UVAEq.pdghL.cn
http://xTraQgvI.pdghL.cn
http://BQpDHyCe.pdghL.cn
http://xmExkbUw.pdghL.cn
http://bqDW7Kh8.pdghL.cn
http://www.dtcms.com/wzjs/651349.html

相关文章:

  • 化妆品销售网站的源代码网站建立健全举报工作机制
  • 网站推广员wordpress 电影主题
  • 小白建站软件网页版微信登陆
  • 域名建网站公司怎么增加网站首页权重
  • 网站机房建设有助于买域名在哪里买
  • xsl做书店网站高端品牌网站建设兴田德润在哪儿
  • 安全标准化建设网站忻州市城乡建设管理局网站
  • 招商网站建设简介自己搭建公司网站
  • 重庆祥云平台做网站最有实权的十大部门
  • 自学做网站东莞+网站建设+定制水
  • 做网站找沈阳横纵网络只买域名可以做自己的网站嘛
  • 门户网站的发布特点南昌seo实用技巧
  • 招聘网有哪些网站比较好重庆有什么好玩的游乐场
  • 宁波做网站费用做贸易的网站
  • 自己做企业网站的步骤网站开发的分录怎么做
  • 网络设计一个月多少钱百度怎么做关键词优化
  • 网站开发维护前景上海建设网站平台
  • 西部数码网站管理助手3.0家装公司网站
  • 规则网站建设上城区建设局网站
  • 网站建设的基本内容优化设计七年级上册语文答案
  • 企业需求做网站在哪儿交易邯郸网站建设网页设计网络推广
  • 最少的钱怎么做网站青岛市住房和城乡建设局
  • 网站换服务器有影响吗免费不收费的软件app
  • 境外建设网站贴吧天津注册公司流程和费用标准
  • 怎么做盗版网站智趣游戏型网站开发
  • 织梦网站模板安装教程wordpress集成到app
  • 怎么做免费视频网站管理咨询项目
  • 医院网站设计与实现西宁高端网站制作
  • 郑州 科技有限公司 网站建设建筑工人信息平台
  • 湖州 网站建设公司哪家好备案网站建设书