读书人

样式表取一部分图片

发布时间: 2012-07-30 16:19:05 作者: rapoo

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

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

[解决办法]
QImage source(":/1.jpg"); for(quint8 i=0;i<3;i++)
{
this->image[i] = new QImage(45,21,QImage::Format_RGB888); //定义三张图片每一张都45*21大小
QPainter painter(image[i]);
painter.drawImage(0,0,source,45*i,0,45,21);
painter.end();
}

this->ui->label->setPixmap(QPixmap::fromImage(*image[0]));
this->ui->label_2->setPixmap(QPixmap::fromImage(*image[1]));
this->ui->label_3->setPixmap(QPixmap::fromImage(*image[2]));


这样也能切割图片!

读书人网 >C++

热点推荐