是否有任何简便的方法可以使用QPainterPath绘制复杂的事物或在PyQt中使用类似的事物

时间:2019-04-09 09:55:36

标签: python pyqt

我现在正在学习PyQt,尤其是QGraphicsScene。现在,我正在尝试绘制一些复杂的东西,例如“人的手”,但是我发现QPainterPath有点复杂。您有什么建议?也许使用一些openGL或一些Photoshop导入图片?我也有点担心速度,希望能将这个因素考虑在内,我将不胜感激。将放置我要实现的绘图示例。谢谢

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您想实现复杂的事物,则可以创建图像以节省时间。

enter image description here

from PySide2 import QtCore, QtGui, QtWidgets

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    scene = QtWidgets.QGraphicsScene(backgroundBrush=QtCore.Qt.gray)
    w = QtWidgets.QGraphicsView(scene)
    pixmap = QtGui.QPixmap("hand128.png")
    pixmap_item = QtWidgets.QGraphicsPixmapItem(pixmap)
    pixmap_item.setFlags(
        pixmap_item.flags()
        | QtWidgets.QGraphicsItem.ItemIsSelectable
        | QtWidgets.QGraphicsItem.ItemIsMovable
    )
    scene.addItem(pixmap_item)
    w.show()
    sys.exit(app.exec_())

enter image description here