一.效果


上图是我仿的360安全卫士的托盘菜单。顶部和底部的两个菜单项都将背景色设置成了360安全卫士的主题色,中间的大菜单项由6个按钮组成,像这些非规则的菜单项都需定制。虽然360安全卫士总是无缘无故拦截我,但是360产品外观设计还是非常赞的,要不也不会被众多程序猿模仿。

二.原理

QQ音乐的托盘菜单也很有个性,但实现原理都差不多。

我们要用到一个平时很少接触到的类:QWidgetAction。这个类自Qt 4.2引入,继承自QAction。根据类名也可以推测出其含义:使用QWidget来充当Menu的Action。于是,我们似乎明白了自定义菜单的精髓:用Widget来做Action。也就是说顶部菜单项、底部菜单项和中间由6个按钮组成的菜单项实际上都是Widget。那么布局好的Widget如何"伪装"成Action插入到菜单项中去呢?我们可以使用QWidgetAction的setDefaultWidget()方法来完成这项工作。详见三.实现

三.实现

主窗口中调用

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QSystemTrayIcon>#include "QHTrayIconMenu.h"QT_BE

Qt之定制个性化系统托盘菜单(仿360安全卫士)相关推荐

  1. Qt个性化系统托盘的实现(电脑管家)

    Qt实现个性化系统托盘 今天刚好有点时间,就想着模仿下电脑管家的系统化托盘,看着挺好看的.下边是电脑管家自带的系统托盘: 可以看出主要是由三部分组成的,分为上部,中间和底部,上边是 2个label,加 ...

  2. 【Qt】仿360安全卫士界面(自定义阴影边框类)

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 自定义阴影边框类设计与实现 04. 测试代码 05. 示例下载 06. 附录 01. 概述 Qt默认的QDialog和QW ...

  3. (源码)VC开发百分百仿360安全卫士界面,可换肤,可缩放

    完全模仿360安全卫士的界面,可换肤,可缩放.其中包括360配置界面,360换肤界面360自定义滚动条,360托盘菜单,360新版特性界面等.可以兼容360安全卫士皮肤文件,使用VC开发,未使用除GD ...

  4. C#制作高仿360安全卫士窗体二

    继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家,写的非常乱而且很少文字介绍.在 ...

  5. C#制作高仿360安全卫士窗体一

    开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...

  6. C#制作高仿360安全卫士窗体(三)

    距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作文本框写一下.同时也希望有爱好这些玩意的同 ...

  7. C#制作高仿360安全卫士窗体(四)- 水晶按钮

    项目越来越紧,我也乐此不疲.自从上次C#制作高仿360安全卫士窗体(三)出来之后,就开始有一些人在说为什么还在坚持写这么落后的东西.我想说的是,我是从事企业信息化工作的,所有程序都只对内部使用.所以只 ...

  8. ui li 菜单 点击添加下级_【Qt开发】实现系统托盘,托盘菜单,托盘消息

    概述 系统托盘就是在系统桌面底部特定的区域显示运行的程序.windows在任务栏状态区域,linux在布告栏区域.应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能. 演示Demo ...

  9. 【Qt开发】实现系统托盘,托盘菜单,托盘消息

    概述 系统托盘就是在系统桌面底部特定的区域显示运行的程序.windows在任务栏状态区域,linux在布告栏区域.应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能. 演示Demo ...

最新文章

  1. LayoutInflater的inflate函数用法详解
  2. java 拉姆表达式_Java8 lambda表达式10个示例
  3. 常见Java面试题之静态变量和实例变量的区别
  4. BZOJ 3694DTOJ 1972: 最短路
  5. 虚拟机VirtualBox中Ubuntu无法全屏(终极解决方法)
  6. x64版本的OpenGL库配置
  7. yii2之DetailView小部件
  8. 利用QSharedMemory 保证单个程序运行
  9. JavaScript中各存在性函数
  10. power bi自定义地图_如何使用自定义形状图在Power BI中创建地理图
  11. 有助提高效率的Web前端开发框架有哪些?
  12. github issue 搜索_启用 GitHub Issue 作为博客留言系统 - Farseerfc的小窝
  13. 微信公众号开发流程指南
  14. matlab创建wps服务器,wps云文档服务器架设(mac版wps云文档在哪)
  15. 边走边拍───南极三岛之行
  16. 【Unity】游戏开发过程中的前后台切换技术
  17. word修改或删除脚注或尾注分隔符
  18. 基于FPGA的交通灯——香樟路
  19. 测试知识总结1 —— 测试的分类
  20. HTML中abbr标记,HTML abbr标记

热门文章

  1. 贪心 混合牛奶 Mixing Milk
  2. 蚂蚁资深技术专家刘晓莹十年支付宝回忆录
  3. 虎年第一条微信,拜年啦
  4. 关于nova服务项目的使用方法
  5. 高德地图-添加路线规划(自驾、步行...)
  6. 【阿里巴巴大数据实践笔记】第9章:阿里巴巴数据整合及管理体系
  7. 变焦光学系统工作原理及初始结构设计方法
  8. 情感分析学习笔记(5)——PolarityRank算法原理讲解
  9. 实用自动化运维Python脚本
  10. linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)