Linux qt5绘图

野性酷女 2022-01-21 10:39 407阅读 0赞

1,qt5绘制直线,圆,长方形。

主函数widgt.cpp函数实现如下:

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include <QPainter>
  4. #include <QPen>
  5. #include <QBrush>
  6. Widget::Widget(QWidget *parent) :
  7. QWidget(parent),
  8. ui(new Ui::Widget)
  9. {
  10. ui->setupUi(this);
  11. x = 0;
  12. }
  13. Widget::~Widget()
  14. {
  15. delete ui;
  16. }
  17. void Widget::paintEvent(QPaintEvent *)
  18. {
  19. //QPainter p(this);
  20. QPainter p;//创建画家对象
  21. p.begin(this);//指定当前窗口为绘图设备
  22. //绘图操作
  23. //p.drawxxx();
  24. //画背景图
  25. //p.drawPixmap(0, 0, width(), height(), QPixmap("../Image/bk.png"));
  26. p.drawPixmap(rect(), QPixmap("../Image/bk.png"));
  27. //定义画笔
  28. QPen pen;
  29. pen.setWidth(5); //设置线宽
  30. //pen.setColor(Qt::red); //设置颜色
  31. pen.setColor( QColor(14, 9, 234) );//rgb设置颜色
  32. pen.setStyle(Qt::DashLine); //设置风格
  33. //把画笔交给画家
  34. p.setPen(pen);
  35. //画直线
  36. p.drawLine(50, 50, 150, 50);
  37. p.drawLine(50, 50, 50, 150);
  38. //创建画刷对象
  39. QBrush brush;
  40. brush.setColor(Qt::red); //设置颜色
  41. brush.setStyle(Qt::Dense1Pattern);//设置样式
  42. //把画刷交给画家
  43. p.setBrush(brush);
  44. //画矩形
  45. p.drawRect(150, 150, 100, 50);
  46. //画圆形
  47. p.drawEllipse(QPoint(150, 150), 50, 25);
  48. //画笑脸
  49. p.drawPixmap(x, 180, 80, 80, QPixmap("../Image/face.png"));
  50. p.end();
  51. }
  52. void Widget::on_pushButton_clicked()
  53. {
  54. x += 20;
  55. if(x > width())
  56. {
  57. x = 0;
  58. }
  59. //刷新窗口,让窗口重绘,整个窗口都刷新
  60. update(); //间接调用paintEvent()
  61. }

运行结果如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMDA4MzI1_size_16_color_FFFFFF_t_70

发表评论

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

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

相关阅读

    相关 初识Qt绘图QGraphicsItem

    最近学习Qt绘图,花了很长的时间,也费了一些心思,好在有所收获,也不枉这几个月的各种苦熬,在这里做一些总结。如题目所说,这也只是初识QGraphicsItem,我需要做的是继续