我正在开发一个需要将多个实例放置在特定区域内的项目。我在创建一个可以为我做这件事的函数时遇到了麻烦。现在我必须手动设置每个实例的值。我将如何制作一个函数来获取所有实例并根据半径将它们均匀地放置在一个圆圈中?
这是我手动设置位置的代码区域。功能setIconWidgetLocation
是我目前有的,就是不知道里面放什么。
zMenuWidget::zMenuWidget(QWidget *parent) :
QWidget(parent)
{
icon1 = new iconWidget(this);
icon2 = new iconWidget(this);
}
void zMenuWidget::resizeEvent(QResizeEvent *event)
{
int yEndPosition = 0;
int outerRadius = 100;
int innerRadius = 60;
QSizeF size = event->size();
QPointF center(size.width(),size.height());
center /= 2.0;
yEndPosition = (outerRadius - innerRadius)/2.0 + innerRadius;
yEndPosition = center.y() - yEndPosition;
int yCurrIconLoc = icon1->rect().center().y();
int xCurrIconLoc = icon1->rect().center().x();
icon1->move(center.x() - xCurrIconLoc, yEndPosition - yCurrIconLoc);
}
void setIconWidgetLocation(iconWidget* w, float angle)
{
}