【Qt】将控件均匀分布到圆环上
1. 关键代码
for(int i=0; i<10; i++){/*m_panLabelIcon - 大圆环控件m_slotsIcon[i] - 小圆控件*/QString idxStr = QString::number(i+1);m_slotsIcon[i] = new QLabel(m_panLabelIcon);m_slotsIcon[i]->setFont(ftSlot);m_slotsIcon[i]->setText(idxStr);m_slotsIcon[i]->setAlignment(Qt::AlignCenter);m_slotsIcon[i]->setStyleSheet("border-image:url(:/Icon/Icon/de_icon.png)");//关键代码/*40 - 1号小圆圆心的x坐标200 - 1号小圆圆心的y坐标160 - 小圆圆心到圆环圆心的距离10.0 - 小圆的个数30 - 圆环外径半径60 - 圆环外径直径*/double x = 40 + 160*(1-qCos(qDegreesToRadians(360/10.0*i)));double y = 200 - 160*qSin(qDegreesToRadians(360/10.0*i));m_slotsIcon[i]->setGeometry(QRect(int(x)-30, int(y)-30, 60, 60));}