void ColorButton::setColor(QColor color)
{

QPixmap pixmap(this->iconSize());
pixmap.fill(color);
this->setIcon(QIcon(pixmap));

selectedColor = color;
this->update();
}

void ColorButton::init(QColor color)
{
colorDialog.setCurrentColor(color);
QObject::connect(this, SIGNAL(clicked()),
&colorDialog, SLOT(open()));
QObject::connect(&colorDialog, SIGNAL(colorSelected(QColor)),
this, SLOT(setColor(QColor)));
setColor(color);
}

void ColorButton::paintEvent(QPaintEvent *event)
{
QPushButton::paintEvent(event);
QPainter painter(this);
painter.setCompositionMode(QPainter::CompositionMode_Screen);
painter.fillRect(0, 0, this->width(), this->height(), selectedColor);
}
文章標籤
全站熱搜
創作者介紹
創作者 阿勇 的頭像
阿勇

阿勇的blog

阿勇 發表在 痞客邦 留言(0) 人氣(11)