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