lwei24 |
2022-05-19 14:57 |
Qt 绘制圆环,圆环外再绘制一个动态的椭圆。
如题,各位大佬,如何在圆环外再设置一个动态的椭圆,这个椭圆自动随着这个圆转动。。。
- 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); }
如上,以上是我绘制圆环的代码,怎么再这个圆环外再加一个动态的椭圆,这个椭圆的边框会自动围绕圆环进行转动。各位大佬,劳烦大家指点一下,小弟在此多谢了!
|
|