我想在从QColorDialog中选择颜色后,在PushButton上放置一个矩形(作为预览)并将其颜色更改为我选择的颜色。
选择颜色前的PushButton:
选择颜色后的PushButton:
是否可以在pushButton上绘制彩色矩形,
我该怎么做(一个例子)?
答案 0 :(得分:2)
创建源自QPushButton的自定义类,例如:
<强> pushbutton.h 强>
#ifndef PUSHBUTTON_H
#define PUSHBUTTON_H
#include <QPushButton>
class PushButton : public QPushButton
{
public:
PushButton(QWidget*parent=0);
protected:
void paintEvent(QPaintEvent *event);
};
#endif // PUSHBUTTON_H
<强> pushbutton.cpp 强>
#include "pushbutton.h"
#include <QPainter>
PushButton::PushButton(QWidget *parent):QPushButton(parent)
{
}
void PushButton::paintEvent(QPaintEvent *event)
{
QPushButton::paintEvent(event);
QRect r(0, 0, width()/3, height());
r.moveTo(rect().center()-r.center());
QPainter painter(this);
painter.setBrush(Qt::red);
painter.drawRect(r);
}