Qt 我怎样做一个圆圈?

Qt 我怎样做一个圆圈?,qt,stylesheet,geometry,rounding,qlabel,Qt,Stylesheet,Geometry,Rounding,Qlabel,我有一个QLabel,我用样式表填充红色,但QLabel是矩形的,我想要一个圆。我尝试添加边界半径,但它不起作用,可能是因为我将QLabel放在了formLayout中 有没有一种简单的方法通过使用样式表来创建一个圆形QLabel 谢谢 编辑:使用图片似乎比现在更容易。创建一个用作遮罩的图像,并通过调用setMask在标签上进行设置。 作为缔约国:- 仅使位图具有相应1位的小部件的像素可见。如果该区域包括小部件rect()之外的像素,则该区域中的窗口系统控件可能可见,也可能不可见,具体取决于平台

我有一个QLabel,我用样式表填充红色,但QLabel是矩形的,我想要一个圆。我尝试添加边界半径,但它不起作用,可能是因为我将QLabel放在了formLayout中

有没有一种简单的方法通过使用样式表来创建一个圆形QLabel

谢谢


编辑:使用图片似乎比现在更容易。

创建一个用作遮罩的图像,并通过调用setMask在标签上进行设置。 作为缔约国:-

仅使位图具有相应1位的小部件的像素可见。如果该区域包括小部件rect()之外的像素,则该区域中的窗口系统控件可能可见,也可能不可见,具体取决于平台


我试图通过设置边框半径和最小宽度/最小高度来使用样式表。看起来像

QLabel{
  border-radius: 10px;
  min-height: 20px;
  min-width: 20px;
}

非常好用,谢谢!这不是一个很好的建议,因为只有在顶级窗口中才真正需要
setMask
,在顶级窗口中,掩码位图被传递到过时的GUI系统,如旧的X11服务器或Windows 95。甚至WindowsXP也支持alpha混合窗口(他们称之为“分层”窗口)。所有你需要做的就是组成一个遮罩圈,作为绘制标签的最后一步。它将使您可以对边缘进行反锯齿处理,并避免窗口出现锯齿状外观。