Qt之定制个性化系统托盘菜单(仿360安全卫士)
一.效果
上图是我仿的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安全卫士)相关推荐
- Qt个性化系统托盘的实现(电脑管家)
Qt实现个性化系统托盘 今天刚好有点时间,就想着模仿下电脑管家的系统化托盘,看着挺好看的.下边是电脑管家自带的系统托盘: 可以看出主要是由三部分组成的,分为上部,中间和底部,上边是 2个label,加 ...
- 【Qt】仿360安全卫士界面(自定义阴影边框类)
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 自定义阴影边框类设计与实现 04. 测试代码 05. 示例下载 06. 附录 01. 概述 Qt默认的QDialog和QW ...
- (源码)VC开发百分百仿360安全卫士界面,可换肤,可缩放
完全模仿360安全卫士的界面,可换肤,可缩放.其中包括360配置界面,360换肤界面360自定义滚动条,360托盘菜单,360新版特性界面等.可以兼容360安全卫士皮肤文件,使用VC开发,未使用除GD ...
- C#制作高仿360安全卫士窗体二
继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家,写的非常乱而且很少文字介绍.在 ...
- C#制作高仿360安全卫士窗体一
开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...
- C#制作高仿360安全卫士窗体(三)
距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作文本框写一下.同时也希望有爱好这些玩意的同 ...
- C#制作高仿360安全卫士窗体(四)- 水晶按钮
项目越来越紧,我也乐此不疲.自从上次C#制作高仿360安全卫士窗体(三)出来之后,就开始有一些人在说为什么还在坚持写这么落后的东西.我想说的是,我是从事企业信息化工作的,所有程序都只对内部使用.所以只 ...
- ui li 菜单 点击添加下级_【Qt开发】实现系统托盘,托盘菜单,托盘消息
概述 系统托盘就是在系统桌面底部特定的区域显示运行的程序.windows在任务栏状态区域,linux在布告栏区域.应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能. 演示Demo ...
- 【Qt开发】实现系统托盘,托盘菜单,托盘消息
概述 系统托盘就是在系统桌面底部特定的区域显示运行的程序.windows在任务栏状态区域,linux在布告栏区域.应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能. 演示Demo ...
最新文章
- LayoutInflater的inflate函数用法详解
- java 拉姆表达式_Java8 lambda表达式10个示例
- 常见Java面试题之静态变量和实例变量的区别
- BZOJ 3694DTOJ 1972: 最短路
- 虚拟机VirtualBox中Ubuntu无法全屏(终极解决方法)
- x64版本的OpenGL库配置
- yii2之DetailView小部件
- 利用QSharedMemory 保证单个程序运行
- JavaScript中各存在性函数
- power bi自定义地图_如何使用自定义形状图在Power BI中创建地理图
- 有助提高效率的Web前端开发框架有哪些?
- github issue 搜索_启用 GitHub Issue 作为博客留言系统 - Farseerfc的小窝
- 微信公众号开发流程指南
- matlab创建wps服务器,wps云文档服务器架设(mac版wps云文档在哪)
- 边走边拍───南极三岛之行
- 【Unity】游戏开发过程中的前后台切换技术
- word修改或删除脚注或尾注分隔符
- 基于FPGA的交通灯——香樟路
- 测试知识总结1 —— 测试的分类
- HTML中abbr标记,HTML abbr标记
热门文章
- 贪心 混合牛奶 Mixing Milk
- 蚂蚁资深技术专家刘晓莹十年支付宝回忆录
- 虎年第一条微信,拜年啦
- 关于nova服务项目的使用方法
- 高德地图-添加路线规划(自驾、步行...)
- 【阿里巴巴大数据实践笔记】第9章:阿里巴巴数据整合及管理体系
- 变焦光学系统工作原理及初始结构设计方法
- 情感分析学习笔记(5)——PolarityRank算法原理讲解
- 实用自动化运维Python脚本
- linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)