Qt 切图,九宫格图标 多合一图标 border-image 设置图标

 

 

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);
 

你可能感兴趣的:(qt)