Qt中用QSS切分圖片


Qt設計時有時需要實現動態按鈕,按鈕點擊時一個狀態,鼠標懸浮時一個狀態,離開時一個狀態,靜止時一個狀態。可以用一張png長圖,使用QSS分段截取,分配給每一個狀態。 
 
 

1.調用函數

    SetButtonStyle(ui->flashButton,":/images/button.png",4);//Qss切割圖片

2.聲明函數

void Widget::SetButtonStyle(QPushButton *button, QString imgsrc, int CutSec) {//=========================Qss切割圖片 int img_w=QPixmap(imgsrc).width(); int img_h=QPixmap(imgsrc).height(); int PicWidth = img_w/CutSec; button->setFixedSize(PicWidth,img_h); 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)); }

http://blog.csdn.net/zhangquan2015/article/details/52138290

 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM