当前位置:网站首页 > R语言数据分析 > 正文

qpainter(Qpainterpath绘制特效图形)



在PyQt中常用的图像类有4个,即QPixmap、QImage、QPicture和QBitmap。

  • 是专门为绘图而设计的,在绘制图片时需要使用QPixmap;
  • 提供了一个硬件无关的图像表示函数,可以用于图片的像素级访问;
  • 是一个绘图设备类,它继承自QPainter类,可以使用QPainter的begin()函数在QPicture上绘图,使用end()函数结束绘图,使用QPicture的save()函数将QPainter所使用过的绘图指令保存到文件中;
  • 是一个继承自QPixmap的简单类,它提供了1bit深度的二值图像的类,QBitmap提供的单色图像可以用来制作游标(QCursor)或者笔刷(QBrush)。

运行效果如下:

pyqt5opencv图像处理界面设计_pyqt5opencv图像处理界面设计

注:在重构mouseMoveEvent函数时,buttons()函数可以获取鼠标指针移动过程中按下的所有按键,然后用Qt.LeftButton来判断是否按下了左键,必须使用该函数来判断按下鼠标的按键。

  1. 绘制矩形,出现重影:

运行效果如下:

pyqt5opencv图像处理界面设计_双缓冲_02

注:其实,在拖动鼠标的过程中屏幕已经刷新了很多次,即paintEvent函数执行了很多次,每执行一次就会绘制一个矩形,拖动速度越快,重影越少。

  1. 使用双缓冲技术绘制矩形,避免出现重影:

运行效果如下:

pyqt5opencv图像处理界面设计_python_03

双缓冲技术总结:
在这个例子中,要实现使用鼠标在界面上绘制一个任意大小的矩形而不出现重影,需要两个画布,其中一个作为临时缓冲区。为了在绘制时不出现重影,而且保证以前绘制的内容不消失,那么每一次绘制都是在原来的图形上进行的,所以需要绘制在辅助画布之前,先将pix的内容复制到辅助画布上。

到此这篇qpainter(Qpainterpath绘制特效图形)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • dbf文件用什么打开(prj文件用什么打开)2025-04-28 09:36:09
  • score可数还是不可数(scores of加可数名词还是不可数)2025-04-28 09:36:09
  • libtorch 编译(libtorch编译)2025-04-28 09:36:09
  • xavier是什么牌子鞋子(xvov是什么品牌鞋子)2025-04-28 09:36:09
  • 三星C7000和7010屏幕一样吗(三星c7000和c7pro一样吗)2025-04-28 09:36:09
  • gridlayout居中(gridlayout布局怎么设置占多行)2025-04-28 09:36:09
  • hrnetone待遇怎么样(hrnet one工资高吗)2025-04-28 09:36:09
  • redhat官方网站(redhat software selection)2025-04-28 09:36:09
  • enoent no such file or(enoent no such file or怎么解决)2025-04-28 09:36:09
  • crn什么意思中文翻译(crn什么意思中文翻译数学)2025-04-28 09:36:09
  • 全屏图片