QPixmap 的使用
直接给个例子:
QPixmap pix(16,16); //作为绘图设备
QPainter painter(&pix); //创建一直画笔
painter.fillRect(0,0,16,16.Qt::black);//在pix上绘制正方形
制作颜色选择框时可以利用上面绘制的正方形作为图标,效果如下图:
其实想做出这个效果很简单,代码如下:
QComboBox *comBox;
QPixmap pix(16,16); //创建绘图设备
QPainter painter(&pix);//创建一个画笔
painter.fillRect(0,0,16,16,Qt::black);
comBox->addItem(QIcon(pix),tr("黑色"),Qt::black);
//红色
painter.fillRect(0,0,16,16,Qt::red);
comBox->addItem(QIcon(pix),tr("红色"),Qt::red);
//green
painter.fillRect(0,0,16,16,Qt::green);
comBox->addItem(QIcon(pix),tr("绿色"),Qt::green);
//blue
painter.fillRect(0,0,16,16,Qt::blue);
comBox->addItem(QIcon(pix),tr("蓝色"),Qt::blue);
//yellow
painter.fillRect(0,0,16,16,Qt::yellow);
comBox->addItem(QIcon(pix),tr("黄色"),Qt::yellow);
//cyan
painter.fillRect(0,0,16,16,Qt::cyan);
comBox->addItem(QIcon(pix),tr("蓝绿色"),Qt::cyan);
//洋红
painter.fillRect(0,0,16,16,Qt::magenta);
comBox->addItem(QIcon(pix),tr("洋红"),Qt::magenta);