Qt:Painter与QLabel
QLabel没有setDefault函数。
不能直接在QLabel上绘画,上面的Pixmap会将画出来的图像挡住
#include "widget.h"
#include <QPainter>
#include <QDebug>
#include <QVBoxLayout>
#include <QPixmap>
#include <QPalette>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
label = new QLabel();
label->setParent(this);
label->resize(size());
label->setPixmap(QPixmap("F:\\MyCode\\qtblog.png"));
}
void Widget::slotButtonClicked()
{
}
Widget::~Widget()
{
}
void Widget::mousePressEvent(QMouseEvent *ev)
{
startPos = ev->pos();
update();
}
void Widget::mouseMoveEvent(QMouseEvent *ev)
{
endPos = ev->pos();
qDebug() << ev->pos();
}
void Widget::mouseReleaseEvent(QMouseEvent *ev)
{
endPos = ev->pos();
}
void Widget::paintEvent(QPaintEvent *ev)
{
QPainter painter(this);
painter.drawLine(startPos, endPos);
painter.end();
}
还没有评论,来说两句吧...