我正在研究一個需要將多個實例放置在特定區域內的項目。我無法創建一個函數來爲我做這件事。現在我必須手動設置每個實例的值。我將如何去做一個函數來取得所有的實例並將它們均勻地放在一個基於半徑的圓圈中?創建一個函數來放置子窗口小部件
這裏是我手動設置放置位置的代碼區域。功能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)
{
}
那麼我會如何把它放在上面的代碼中?我對此仍然比較陌生,所以我需要朝着正確的方向前進。 – zachstarnes
類似的東西...... – paddy
所以所有這些都會在「setIconWidgetLocation」函數中進行嗎? – zachstarnes