我想从QColorDialog中选择一种颜色后,在PushButton上放置一个矩形(作为预览),然后将其颜色更改为我选择的颜色。
选择颜色之前的PushButton:
选择颜色后的PushButton:
是否可以在按钮上绘制彩色矩形,
我该怎么做(一个例子)?
最佳答案
创建派生自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);
}
关于c++ - 是否可以在按钮上绘制彩色矩形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44873141/