void SetButtonStyle(QPushButton *button, QString imgsrc, int CutSec)
{
int PicWidth = QPixmap(imgsrc).width()/CutSec;
button->setStyleSheet(QString("QPushButton{border-width: 41px; border-image: url(%1) 0 0 0 %2 repeat repeat;border-width: 0px; border-radius: 0px;}")
.append("QPushButton::hover{border-image: url(%1) 0 0 0 %3 repeat repeat;}")
.append("QPushButton::pressed{border-image: url(%1) 0 0 0 %4 repeat repeat;}")
.append("QPushButton::checked{border-image: url(%1) 0 0 0 %4 repeat repeat;}")
.append("QPushButton::disabled{border-image: url(%1) 0 0 0 %5 repeat repeat;}")
.arg(imgsrc).arg(0).arg(PicWidth*1).arg(PicWidth*2).arg(PicWidth*3));
}
本函数支持横向等分的图片集
参数CutSec是切分片的大小。
img = ":images/MainBtn_Goods.png";SetButtonStyle(button,img, 4);