qss 方式截取序列图

21 篇文章 0 订阅

该序列图,是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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值