def drawTwoTexts( self, p: QPainter, firstRect: QRectF, secondRect: QRectF, innerRadius: float, value: float, ): if not self.m_format: return if self.useSystemFont: font = QFont(self.font()) else: font = QFont('Noto Sans') font.setPixelSize(10) fm = QFontMetricsF(font) maxWidth = fm.width(self.valueToText(self.m_max)) delta = innerRadius / maxWidth timeFontSize = font.pixelSize() * delta * 0.75 font.setPixelSize(int(timeFontSize)) p.setFont(font) timeTextRect = QRectF(firstRect) tomatoesTextRect = QRectF(secondRect) p.setPen(self.palette().text().color()) p.drawText(timeTextRect, Qt.AlignCenter | Qt.AlignBottom, self.valueToText(value)) tomatoesFontSize = timeFontSize * 0.3 font.setPixelSize(int(tomatoesFontSize)) p.setFont(font) p.drawText(tomatoesTextRect, Qt.AlignHCenter, self.m_second_format)
def drawText(self, p: QPainter, innerRect: QRectF, innerRadius: float, value: float): if not self.m_format: return f = QFont(self.font()) f.setPixelSize(10) fm = QFontMetricsF(f) maxWidth = fm.width(self.valueToText(self.m_max)) delta = innerRadius / maxWidth fontSize = f.pixelSize() * delta * 0.75 f.setPixelSize(int(fontSize)) p.setFont(f) textRect = QRectF(innerRect) p.setPen(self.palette().text().color()) p.drawText(textRect, Qt.AlignCenter, self.valueToText(value))