特定の領域内に複数のインスタンスを配置する必要があるプロジェクトに取り組んでいます。私のためにそれを行う関数を作成するのに問題があります。現在、各インスタンスの値を手動で設定する必要があります。すべてのインスタンスを取り、半径に基づいて円に均等に配置する関数を作成するにはどうすればよいですか?
これは、配置を手動で設定したコードの領域です。機能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)
{
}