def paintEvent(self,event): painter = QPainter(self) if self.hasUnderLine: rect = self.tabRect(self.hoveredTab) linesPath = QPainterPath() linesPath.moveTo(QPoint(rect.x()+10,rect.height()-5)) linesPath.lineTo(QPoint(rect.x()-10+rect.width(),rect.height()-5)) linesPath.closeSubpath() painter.setPen(QPen(QColor(170,200,200),6)) painter.drawPath(linesPath) # 如果不是当前选中的页,在页标签下画线 if self.hoveredTab != self.currentIndex (): if self.isTabEnabled(self.hoveredTab): rect = self.tabRect(self.hoveredTab) linesPath = QPainterPath() linesPath.moveTo(QPoint(rect.x()+10,rect.height()-5)) linesPath.lineTo(QPoint(rect.x()-10+rect.width(),rect.height()-5)) linesPath.closeSubpath() painter.setPen(QPen(QColor(170,200,200),6)) painter.drawPath(linesPath) QTabBar.paintEvent(self,event)