• 6791阅读
  • 6回复

[提问]Qt样式表取部分图片 [复制链接]

上一主题 下一主题
离线ypchen
 

只看楼主 倒序阅读 楼主  发表于: 2012-07-06
对于最大化最小化按钮一般有四种状态:hover、release、enter、pressed,这四种状态一般是在一张图片中,通过样式表如何取对应的图片呢?
如果答案是以下2种就免了:
1、将一张图片分成四张图片,分别用相应状态去对应;
2、用代码方式btn->setIcon(QIcon(pixmap.copy(QRect(state * nWidth, 0, nWidth, nHeight))));

请一定要用样式表完成的方法!!!
离线tuoya220

只看该作者 1楼 发表于: 2012-07-06
离线uidab

只看该作者 2楼 发表于: 2012-07-06
回 楼主(ypchen) 的帖子
好像Qt给的examples中就是你说的第一种,还真不清楚!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线jdwx

只看该作者 3楼 发表于: 2012-07-06
记得以前有人实现过,就在论坛里有这个内容。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ppdayz

只看该作者 4楼 发表于: 2012-07-07
background-image: url(qt.png);
background-position: xxx px;
background-origin: content;
background-repeat: none;
离线hcaihao

只看该作者 5楼 发表于: 2012-07-07
background-position: xxx px;

应该没有这种写法

background-position;只支持上下左右
离线ypchen

只看该作者 6楼 发表于: 2012-07-12
这个问题我已经搞定了,使用border-image,具体如下:
整张图片为80*20,那每一张图片就是20*20,如要取第2张图片,可用:
border-image:url(:/img/images/TabTree.bmp) 0 40px 0 20px 0;
后面的数值分别代表距离上、右、下、左、中边框的值(顺时针),40px表示右边有2张图片的间隔,20表示左边有一张图片的间隔。
大家不妨一试,感谢大家的参与!
快速回复
限100 字节
 
上一个 下一个