该序列图,是40x36的三张图片拼接而成。从左到右,分别是normal,hover,pressed三种状态。
当用qt 写界面程序时,为了使资源目录不到处都是图标,将散的图片拼接成三种状态或四种状态的序列图,此时在项目中使用时,setStyleSheet 处理每个状态获取对应的图表方式如下:
//后面四位数字表示截取图片对应的是上右下左,在序列图中,normal中图标在第一个,该图标到它的上边没有图标了,所以第一个数字表示到距离最上边是0,第二个表示右,第一图标到最右边的距离是连个图标的宽度,所以下也是80,第三个数字表示下,表示到距离最下面图标的距离,下面没有图标是0,第四个数字表示到左的距离,左边没有图标,所以是0,结果上右下左对应的是0 80 0 0;
//悬停效果对应的图标是序列图中的第二个:第一个数字,表示到最上边图片的距离,它的最上边没有,距离是0,第二个数字表示到最右边的距离,有一个图标的距离,所以是40,第三个数字是表示到最下边的距离,下边没有图片,所以是0,第四个数字表示到最左边图片的距离,只有一个图标的距离,是40,所以截取第二个悬停图标,上右下左对应的数字是:0 40 0 40;
其余,四种图标组成的序列图等,都是以此推算
QPushButton#rightMenuBtn{
min-width:40px;
max-width:60px;
height:36px;
border-image: url(:/images/buttons/icon_btn_menu_40x36.png) 0 80 0 0;
}
QPushButton#rightMenuBtn:hover {
border-image: url(:/images/buttons/icon_btn_menu_40x36.png) 0 40 0 40;
}
QPushButton#rightMenuBtn:pressed {
border-image: url(:/images/buttons/icon_btn_menu_40x36.png) 0 0 0 80;
}