今天使用了QPainter绘制背景以及窗体上的控件
但是所有语法都正确,资源路径也对,程序也没有报错,也是写在paintevent里的,但是就是不见影,这是怎么回事呢
看下原来的代码

    QPainter pal;QBrush brush(QPixmap(":/images/rule/gameRule.png"));    pal.setBrush(brush);pal.drawRect(0,0,RULE_WINDOW_WIDTH,RULE_WINDOW_HEIGHT);QWidget::paintEvent(e);

经过我不断的debug尝试,发现原来QPainter类构建的时候没有设置绘画设备,我的天,在创建QPainter的时候可以在构造参数中传递绘画设备指针* QPaintDevice,大多情况下就是this,因为是在窗体上绘制嘛,QWidght也继承于QPaintDevice,其中QPaintDevice主要分为三种:QPixmap、QImage和QPicture
改进后:

   QPainter pal(this);QBrush brush(QPixmap(":/images/rule/gameRule.png"));    pal.setBrush(brush);pal.drawRect(0,0,RULE_WINDOW_WIDTH,RULE_WINDOW_HEIGHT);QWidget::paintEvent(e);

还有一种方式指定绘图设备,就是QPainter的begin函数和end函数
QPainter p;
p.begin(设备指针);
(进行绘图操作)
p.end(设备指针);

end()函数执行后,再进行绘图操作,也不会在设备上绘制了
所以大家一定要记得指定绘图设备哦

关于QPainter无法绘制问题相关推荐

  1. Qt项目中,用QPainter进行绘制图形时,边角显示不完整问题的梳理

    总第42篇 本文主要梳理总结了我自己在项目开发过程中经常遇到的一个问题,就是用QPainter进行图形绘制时,边角显示不完整的现象.这个问题虽然比较简单,但是很容易忘记,每次绘图时都要调试一下,故总结 ...

  2. 【Qt】2D基本绘图操作——QPainter执行绘制及绘图设备介绍

    文章目录 QPainter绘图 绘图设备 QPixmap QImage QPicture Qt实现2D绘图主要基于QPainter.QPaintDevice.QPaintEngine三个类,- - Q ...

  3. Qt QPainter鼠标绘制线条、矩形、多边形

    Qt通过鼠标绘制线条.矩形.多边形本质都是根据鼠标的坐标位移,使用QPainter的自带的函数进行绘制.具体代码如下: graphicspainter.h #ifndef GRAPHICSPAINTE ...

  4. QPainter QPixmap 绘制圆形图片

    一.效果图 二.代码 #include "roungimg.h" #include "ui_roungimg.h" #include <QPainter& ...

  5. Qt绘制曲线图(基于qt画图QPainter)

    在没有QCharst模块时,可以使用QPainter自定义绘制曲线折线图 下面提供完整代码供参考: 直接在qt创建一个QMainWindow类的app的工程,不自动生成ui文件,然后把下面代码复制到m ...

  6. QPainter绘制一个简易的饼图(含动画和tip显示)

    (文本只是一个饼图的雏形,还未进行封装,并且功能也很少,等有空我再进一步完善他.如果你需要的是一个现成的控件或完善的代码,可以在百度上找找其他的.) 先说下我的实现思路:首先,构建Slice结构体类型 ...

  7. QPainter绘制图片填充方式(正常大小、剪切大小、自适应大小、平铺)

    Qt中QPainter提供了绘制图像的API,极大地方便了我们对图像的绘制. Qt中提供了QPixmap, QBitmap,QBitMapQImage,QPicture等图像绘图设备,它们的类关系如下 ...

  8. Python Qt GUI设计:QPainter、QPen、QBrush和QPixmap窗口绘图类(基础篇—17)

    目录 1.QPainter绘图类 2.QPen绘图类 3.QBrush绘图类 4.QPixmap绘图类 本篇博文主要介绍如何实现在窗口中绘图,在 PyQt5中,一般可以通过QPainter.QPen. ...

  9. 【Qt】2D绘图之绘制简单的图形

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 绘制图形 04. 画笔和画刷 05. 绘制弧线 06. 附录 01. 概述 Qt中提供了强大的2D绘图系统,可以使用同一A ...

最新文章

  1. 面试必过之消息中间件RabbitMQ面试总结大全!
  2. Kubuntu 9.10设置支持文件分级的方法
  3. 用Python找出数组中出现次数超过一半的数
  4. ASP.NET Web API教程 分页查询
  5. python socket编程实现的简单tcp迭代server
  6. 杭电2524 矩形A + B
  7. windows10常用快捷键
  8. 怎么看待传菜机器人_比拼食材原料、使用机器人传菜,餐饮业如何把握大消费时代的机遇...
  9. Linux系统下编译连接C源代码
  10. 【原创】VBA学习笔记(21) VBA函数,appliacation函数,工作表函数,三种同名函数对比举例(3个例子)
  11. C在mac上用不了malloc.h头文件的解决方法
  12. 使用反相器的rc振荡电路
  13. 计算机关机后,电脑关机后自动重启怎么解决?
  14. 百度富文本编辑器php设置图片上传,手把手教你百度富文本编辑器的相关配置包括图片上传(for jsp)...
  15. 关于Diy51单片机的趣事
  16. 房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文
  17. x265笔记_1_下载调试
  18. 查看电脑连接过的所有无线的密码
  19. 大话php设计模式视频,大话PHP设计模式【1】 – 魔术师之路
  20. comodo/科摩多安全软件uninstall删除卸载工具

热门文章

  1. Janino框架初识与使用教程
  2. 如何画一个精致的思维导图
  3. 项目管理如何与甲方沟通
  4. GraphicConverter Mac图片浏览和编辑器
  5. Pycharm安装与设置
  6. 以太坊用户体验的痛点
  7. IP基础知识 —— “一篇盖全”
  8. 学习MonoRail MVC
  9. STDERR: error: unable to open preload file “/etc/sysctl.d/90-omnibus-gitlab-net.core.somaxconn.conf“
  10. Appium报错解决