觉晓01 2023-01-02 19:25 采纳率: 0%
浏览 89
已结题

pyqt 使用qss显示箭头

我在用pyqt写UI的时候遇到一个需求,要在线上显示一个箭头。如图所示。

img


限制条件为:线已经有了,需要的是显示箭头。即需要一个箭头型的Qlabel或Qwidget。
已经实现QPainter重写绘画事件的解决方法 ,但思考能不能使用qss实现要求,使实现更加简单。

  • 写回答

5条回答 默认 最新

  • |__WhoAmI__| 2023-01-02 19:35
    关注
    获得0.75元问题酬金

    先需要使用 border-image 属性来设置箭头图像:

    QLabel#arrowLabel {
        border-image: url(arrow.png) 0 0 0 0 stretch stretch;
    }
    

    然后可以使用 transform 属性来旋转箭头。例如要将箭头旋转 45 度,可以这样写:

    QLabel#arrowLabel {
        border-image: url(arrow.png) 0 0 0 0 stretch stretch;
        transform: rotate(45deg);
    }
    

    使用 origin 属性来调整箭头的旋转中心。例如要将箭头的旋转中心设置为其底部中心,可以这样写:

    QLabel#arrowLabel {
        border-image: url(arrow.png) 0 0 0 0 stretch stretch;
        transform: rotate(45deg);
        transform-origin: center bottom;
    }
    

    注意这些属性仅适用于 PyQt 5.6 及更高版本。
    仅供参考,望采纳,谢谢。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月10日
  • 赞助了问题酬金15元 1月2日
  • 创建了问题 1月2日