MCPcopy Create free account
hub / github.com/DIMFLIX/Spectrum-Security / paintEvent

Method paintEvent

ui/widgets/toggleswitch.py:148–201  ·  view source on GitHub ↗
(self, event)

Source from the content-addressed store, hash-verified

146 super().changeEvent(event)
147
148 def paintEvent(self, event):
149 pt = QPainter()
150 pt.begin(self)
151 pt.setRenderHint(QPainter.Antialiasing)
152
153 if self.on:
154 pen = QPen(self.onColor, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)
155 pt.setPen(pen)
156 brush = QBrush(self.onColor)
157 pt.setBrush(brush)
158
159 r = self.radius
160 w = self.width
161
162 pt.drawChord(r, 1, r, r, 90*16, 180*16)
163 pt.drawChord(r+w, 1, r, r, -90*16, 180*16)
164 pt.drawRect(r+r//2, 1, w, r)
165
166 if self.handleAlpha: pt.setBrush(pt.background())
167 else: pt.setBrush(QBrush(self.handleColor))
168 offset = r*0.025
169 pt.drawEllipse(r+offset/2+self.anim.current() , 1+offset/2 , r-offset , r-offset)
170
171 else:
172 pen = QPen(self.offColor.darker(135), 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)
173 pt.setPen(pen)
174 brush = QBrush(self.offColor)
175 pt.setBrush(brush)
176
177 r = self.radius
178 w = self.width
179
180 pt.drawChord(r, 1, r, r, 90*16, 180*16)
181 pt.drawChord(r+w, 1, r, r, -90*16, 180*16)
182 pt.drawRect(r+r//2, 1, w, r)
183 pt.setPen(QPen(self.offColor))
184 pt.drawRect(r+r//2-2, 2, w+4, r-2)
185
186 if self.handleAlpha: pt.setBrush(pt.background())
187 else: pt.setBrush(QBrush(self.handleColor))
188 pt.setPen(QPen(self.handleColor.darker(160)))
189 offset = r*0.025
190 pt.drawEllipse(r+offset/2+self.anim.current() , 1+offset/2 , r-offset , r-offset)
191
192
193 font = pt.font()
194 pt.setFont(font)
195 pt.setPen(QPen(Qt.black))
196
197 pt.drawText(w+r*2+10, r//2+r//4, self.text)
198
199 pt.end()
200
201 if not self.anim.done(): self.update()

Callers

nothing calls this directly

Calls 3

updateMethod · 0.95
currentMethod · 0.80
doneMethod · 0.80

Tested by

no test coverage detected