jhonconal |
2018-07-16 18:04 |
QByteArray MainDialog::QIcon2QByteArray(QIcon icon) { if(icon.isNull()) return NULL; QList<QSize>sizes = icon.availableSizes(); int maxinum = sizes[0].width(); for(int i=1;i<sizes.size();++i) { maxinum = qMax(maxinum,sizes.width()); } QPixmap pixmap = icon.pixmap(icon.actualSize(QSize(maxinum,maxinum)));//QIcon 转QPixmap // QPixmap pixmap = icon.pixmap(QSize(32,32));//QIcon 转QPixmap QByteArray byteArray; // //方法一: // QDataStream ds(&byteArray,QIODevice::WriteOnly); // ds<<pixmap; //方法二: QBuffer buffer(&byteArray); buffer.open(QIODevice::WriteOnly); pixmap.save(&buffer,"PNG",20); return byteArray; } |
|