python 界面编程之PyQt6---入门篇---绘画、自定义小部件
发布网友
发布时间:2024-09-17 09:00
我来回答
共1个回答
热心网友
时间:2024-10-04 09:33
PyQt6 的绘画系统具备呈现矢量图形、图像和基于字体的文本轮廓的功能。若要修改或增强现有小部件,或者从头创建自定义小部件,必须借助 PyQt6 工具包提供的绘图 API 进行绘制。
QPainter 是一个执行底层绘制的工具,可以在小部件和其他可绘制单元上进行操作。从简单的线条到复杂的形状,QPainter 都可以绘制。
画笔是一种基本的图形对象,主要用于绘制形状的背景。
绘制过程由 paintEvent 方法完成,该方法的绘制代码位于 QPainter 对象的开始和结束方法之间,它在小部件和其他绘制单元上执行底层绘制。
颜色是表示红色、绿色和蓝色 (RGB) 强度值组合的对象。有效的 RGB 值的范围是 0 到 255。定义颜色可以使用不同的方法,最常见的是 RGB 十进制值或十六进制值。此外,还可以使用 RGBA 值,它代表红色、绿色、蓝色和 Alpha 通道,添加了透明度信息。Alpha 值为 255 时,颜色完全不透明;为 0 时,颜色不可见。
若要使用十六进制颜色,可以按照以下方式操作:
QPen 是一个基本图形对象,可以绘制线条、曲线和矩形、椭圆、多边形等形状的轮廓。以下是一个创建 QPen 对象的示例,其颜色为黑色,宽度为 2 像素,以便区分不同的笔触。Qt.SolidLine 是一个预定义的笔触。
以下是一个自定义笔触的示例。样式设置为 Qt.PenStyle.CustomDashLine,通过 setDashPattern 方法设置具体样式。参数必须是偶数个,奇数定义破折号,偶数定义空格。数字越大,空格或破折号就越大。这里设置的是 1px 横线,4px 空格,5px 横线,4px 空格等等。
以下是常用的 Qt.PenStyle 线条汇总:
使用 cubicTo 方法可以绘制曲线,该方法需要三个点:起始点、控制点和结束点。
QBrush 是一个基本图形对象,用于绘制矩形、椭圆等形状的背景。笔刷有三种类型:预定义的笔刷、渐变或纹理模式。
以下是一些常用的 Qt.BrushStyle 样式:
以下是一些代码示例:
运行结果如下。当然,如果将这些代码封装起来,就可以作为一个自定义组件使用。就是这么简单,没有废话!代码可以直接运行!喜欢了,就点击关注,更新后第一时间推送给你!!!