先定义一个 QPixmap,在通过QPainter进行绘画。
例子如下:
QPixmap pixmap(100, 100);
QPainter paint(&pixmap);
paint.drawLine(); // drawImage 等等各种draw开头的方法。
继承QLabel呗
#include
#include
Label::Label(QWidget *parent) :
QLabel(parent)
{
isRelease = true;
point = QPoint(0, 0);
setScaledContents(true);
}
void Label::mousePressEvent(QMouseEvent *e)
{
point = e->pos();
isRelease = false;
update();
}
void Label::mouseMoveEvent(QMouseEvent *e)
{
point = e->pos();
isRelease = false;
update();
}
void Label::mouseReleaseEvent(QMouseEvent *)
{
isRelease = true;
update();
}
void Label::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(rect(),QPixmap("../123.jpg"));
if(!isRelease)
painter.drawEllipse(point,20,20);
}