Qt:Painter与QLabel

梦里梦外; 2023-01-12 11:43 292阅读 0赞

QLabel没有setDefault函数。

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

  1. #include "widget.h"
  2. #include <QPainter>
  3. #include <QDebug>
  4. #include <QVBoxLayout>
  5. #include <QPixmap>
  6. #include <QPalette>
  7. Widget::Widget(QWidget *parent)
  8. : QWidget(parent)
  9. {
  10. label = new QLabel();
  11. label->setParent(this);
  12. label->resize(size());
  13. label->setPixmap(QPixmap("F:\\MyCode\\qtblog.png"));
  14. }
  15. void Widget::slotButtonClicked()
  16. {
  17. }
  18. Widget::~Widget()
  19. {
  20. }
  21. void Widget::mousePressEvent(QMouseEvent *ev)
  22. {
  23. startPos = ev->pos();
  24. update();
  25. }
  26. void Widget::mouseMoveEvent(QMouseEvent *ev)
  27. {
  28. endPos = ev->pos();
  29. qDebug() << ev->pos();
  30. }
  31. void Widget::mouseReleaseEvent(QMouseEvent *ev)
  32. {
  33. endPos = ev->pos();
  34. }
  35. void Widget::paintEvent(QPaintEvent *ev)
  36. {
  37. QPainter painter(this);
  38. painter.drawLine(startPos, endPos);
  39. painter.end();
  40. }

d55837e4a505e3d86b4f03b0995e6371fe9.jpg

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Qt:QtPainter设置画刷

    /\ \ 1、新建QT GUI, 基类选择QWidget,取消“创建界面” \ 2、添加资源文件qtlogn:在项目之下添加一个“resources”文件,里面存放"q