Qt之Painter与QLabel

QLabel没有setDefault函数。函数

不能直接在QLabel上绘画,上面的Pixmap会将画出来的图像挡住this

#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();
}

相关文章
相关标签/搜索