标题:Qt 绘制圆环,圆环外再绘制一个动态的椭圆。
作者:lwei24
日期:2022-05-19 14:57
内容:
如题,各位大佬,如何在圆环外再设置一个动态的椭圆,这个椭圆自动随着这个圆转动。。。
void RingWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
QRadialGradient gradient(0, 0, height()/2);
gradient.setColorAt(0, qRgb(3,139, 153));
gradient.setColorAt(1.0, qRgb(169, 238, 125));
painter.setBrush(gradient);
int m_persent = 90;//绘制的环的比例
int m_rotateAngle = 360*m_persent/100;
int side = qMin(width(), height());
QRectF ouRect(0, 0, side, side);//矩形长宽为窗口的长宽d
QRectF inRect(20, 20, side-40, side-40);
//画外圆
painter.setPen(Qt::NoPen);
//p.setBrush(QBrush(QColor(97, 117, 118)));
painter.drawEllipse(ouRect);
//画内圆
//p.setBrush(QBrush(QColor(255, 107, 107)));
painter.drawPie(ouRect, (90-m_rotateAngle)*16, m_rotateAngle*16);
//画遮罩,遮罩颜色为窗口颜色
painter.setBrush(palette().window().color());
painter.drawEllipse(inRect);
//画文字
QFont f = QFont("Microsoft YaHei", 15, QFont::Bold);
painter.setFont(f);
painter.setPen(Qt::white);
painter.drawText(inRect, Qt::AlignCenter, m_strDescribe);
}
如上,以上是我绘制圆环的代码,怎么再这个圆环外再加一个动态的椭圆,这个椭圆的边框会自动围绕圆环进行转动。各位大佬,劳烦大家指点一下,小弟在此多谢了!