QIcon SCgAlphabet::createPairIcon(const QSize &size, QString type) { QIcon icon; SCgPair *pair = new SCgPair; pair->setTypeAlias(type); QVector<QPointF> points; points.push_back(QPointF(-size.width() / 2.f, 0.f)); points.push_back(QPointF(size.width() / 2.f, 0.f)); pair->setPoints(points); QPixmap pixmap(size); QPainter painter; pixmap.fill(Qt::transparent); painter.begin(&pixmap); painter.setRenderHint(QPainter::Antialiasing, true); pair->setColor(QColor(0, 0, 0, 255));//(state == QIcon::On) ? 255 : 128)); painter.translate(size.width() / 2.f, size.height() / 2.f); painter.scale(0.9f, 0.9f); paintPair(&painter, pair); painter.end(); for (int mode = QIcon::Normal; mode <= QIcon::Selected; mode++) for (int state = QIcon::On; state <= QIcon::Off; state++) icon.addPixmap(pixmap, (QIcon::Mode)mode, (QIcon::State)state); delete pair; return icon; }