在PyQt5中圆角化QLabel的角落

问题描述

我有一个显示矩形图像的QLabel。图片的角应切成圆形。

我使用PyQt5,却不知道该怎么做。我试图设置一个画家并绘制一个圆角的rectrect,但是它显示在我的图像之上。 我可以帮忙。

解决方法

这是执行此操作的一种方法。通过使用原始像素图作为画家的画笔在初始透明的像素图上绘制一个圆角的矩形,可以实现此目的。

request-promise
,

以下是使用Qt样式表在QLabel中显示圆形图像的示例。

from PyQt5.QtWidgets import QApplication,QLabel                                                                                       
                                                                                                                                       
app = QApplication([])                                                                                                                 

label=QLabel("\n\                                                                                                                      
  QLable StyleSheet Demo \n\                                                                                                           
  QLable StyleSheet Demo \n\                                                                                                           
  QLable StyleSheet Demo \n\                                                                                                           
  QLable StyleSheet Demo \n\                                                                                                           
  QLable StyleSheet Demo \n\                                                                                                           
  QLable StyleSheet Demo \n\                                                                                                           
  ")                                                                                                                                   
label.setStyleSheet(" \                                                                                                                
  border-image: url('demo.jpg'); \                                                                                                     
  background-color: black; \                                                                                                           
  border-radius: 50%; \                                                                                                                
  ")                                                                                                                                   
label.setMargin(20);                                                                                                                   
label.setScaledContents(True);                                                                                                         
label.show()                                                                                                                           
app.exec_()                                                                                                                            

这是它的样子:

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...