Qt实现自定义按钮的三态效果

按钮的三态,指的是普通态、鼠标的停留态、点击态,三态是界面交互非常基本的一项功能,Qt中如果使用的是原始的按钮,三态的效果是有的,鼠标放上去会变色,点击的时候有凹陷的效果,工具栏中的图标也具备三态效果,但是如果自定义的图标这个效果就没有了。

Qt 的详细介绍请点这里
Qt 的下载地址请点这里

推荐阅读:

Ubuntu 环境下Gtk与QT编译环境安装与配置

Linux系统下QT环境搭建

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu 10.04下QT4.7.4移植详解

Linux下为刚安装好的Qt Creator 创建桌面启动图标

Ubuntu 11.04安装QT Creator 2.5.0

Qt creator for PlayBook安装过程

SNAGHTML101064

下面整理下自定义按钮图标的方法,先看下我做的效果图:

2013-7-14 11-48-05

图中表示了鼠标放在按钮上和按下的效果,完成了基本的三态,下面说下我的具体实现过程。

资源准备

首先要准备好对应状态的按钮图标,按钮图标可以从网上搜集,图标需要找png格式的,ico格式的可以使用工具转换为png格式的,而且是背景透明的png格式,要想实现不同状态对应不同的效果还需要处理出其他状态,这就得靠PS来完成了,使用PS也非常简单,我这里使用PS的内阴影来实现按下的效果,用斜面和浮雕来实现鼠标停留效果。具体设置如下面两幅图所示:

SNAGHTML41a8cd

图:使用内阴影实现的按下效果

SNAGHTML42365c

图:使用斜面和浮雕实现的鼠标停留效果

处理好后的图标如下图。

2013-7-14 12-08-21

加入工程

将处理好的图标文件放入工程文件夹下,新建Qt-Qt资源文件。

SNAGHTML496fb4

输入文件名保存并加入工程。依次添加前缀,添加文件将文件加入工程,如下图所示。

image

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/090d23db65e96476bc2ef7ec5524597b.html