gpt4 book ai didi

python - 我可以自定义自己的笔刷样式吗?

转载 作者:行者123 更新时间:2023-12-05 05:01:14 24 4
gpt4 key购买 nike

这里有一些为Qbrush预定义的QbrushStyle,我想知道我是否有机会按照自己的意愿定制一个风格。谢谢。

enter image description here

最佳答案

您必须创建一个表示图案的 QPixmap,并将其设置为 QBrush 的纹理:

import sys

from PyQt5 import QtCore, QtGui, QtWidgets


def create_texture():
pixmap = QtGui.QPixmap(QtCore.QSize(8, 8))
pixmap.fill(QtGui.QColor("red"))

painter = QtGui.QPainter(pixmap)
painter.setBrush(QtGui.QBrush(QtGui.QColor("blue")))
painter.drawEllipse(pixmap.rect())
painter.end()

return pixmap


if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)

texture = create_texture()
brush = QtGui.QBrush()
brush.setTexture(texture)

scene = QtWidgets.QGraphicsScene()
view = QtWidgets.QGraphicsView(scene)

it = scene.addRect(QtCore.QRectF(0, 0, 400, 400))
it.setBrush(brush)

view.resize(640, 480)
view.show()

sys.exit(app.exec_())

enter image description here

或QImage:

import sys

from PyQt5 import QtCore, QtGui, QtWidgets


def create_texture():
image = QtGui.QImage(QtCore.QSize(8, 8), QtGui.QImage.Format_ARGB32)
image.fill(QtGui.QColor("red"))

painter = QtGui.QPainter(image)
painter.setBrush(QtGui.QBrush(QtGui.QColor("blue")))
painter.drawEllipse(image.rect())
painter.end()

return image


if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)

texture = create_texture()
brush = QtGui.QBrush()
brush.setTextureImage(texture)

scene = QtWidgets.QGraphicsScene()
view = QtWidgets.QGraphicsView(scene)

it = scene.addRect(QtCore.QRectF(0, 0, 400, 400))
it.setBrush(brush)

view.resize(640, 480)
view.show()

sys.exit(app.exec_())

关于python - 我可以自定义自己的笔刷样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62799632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com