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

相關文章
相關標籤/搜索