@@ -51,47 +51,34 @@ class LayoutIconWidget(QWidget):
51
51
def __init__ (
52
52
self ,
53
53
layout_name : str = "bsp" ,
54
- alignment : Qt .AlignmentFlag = Qt .AlignmentFlag .AlignCenter ,
55
54
):
56
55
super ().__init__ ()
57
56
self .layout_name = layout_name
58
- self ._alignment = alignment
59
57
60
58
def sizeHint (self ):
61
59
size = self .font ().pixelSize ()
62
60
return QSize (size , size )
63
61
64
- def setAlignment (self , alignment : Qt .AlignmentFlag ):
65
- self ._alignment = alignment
66
- self .updateGeometry ()
67
- self .update ()
62
+ def setAlignment (self , a0 ):
63
+ pass
68
64
69
65
def paintEvent (self , a0 ):
70
66
painter = QPainter (self )
71
67
painter .setRenderHint (QPainter .RenderHint .Antialiasing )
68
+ painter .setRenderHint (QPainter .RenderHint .SmoothPixmapTransform )
72
69
73
70
size = self .font ().pixelSize ()
74
- width , height = size , size
75
- stroke_width = 1.5
71
+ stroke_width = max (1.0 , size * 0.08 )
76
72
77
73
pen = painter .pen ()
78
74
pen .setWidthF (stroke_width )
75
+ pen .setCosmetic (True )
79
76
painter .setPen (pen )
80
77
81
78
rect = self .rect ()
82
- icon_rect = QRectF (0 , 0 , width , height )
83
-
84
- if self ._alignment & Qt .AlignmentFlag .AlignHCenter :
85
- icon_rect .moveLeft ((rect .width () - width ) / 2 )
86
- elif self ._alignment & Qt .AlignmentFlag .AlignRight :
87
- icon_rect .moveLeft (rect .width () - width )
88
- # else: default is AlignLeft, so no need to move
89
-
90
- if self ._alignment & Qt .AlignmentFlag .AlignVCenter :
91
- icon_rect .moveTop ((rect .height () - height ) / 2 )
92
- elif self ._alignment & Qt .AlignmentFlag .AlignBottom :
93
- icon_rect .moveTop (rect .height () - height )
94
- # else: default is AlignTop, so no need to move
79
+ x = (rect .width () - size ) / 2
80
+ y = (rect .height () - size ) / 2
81
+ icon_rect = QRectF (x , y , size , size )
95
82
96
83
r = (icon_rect .width () / 2 ) - stroke_width
97
84
c = icon_rect .center ()
0 commit comments