我正在研究一个需要将多个实例放置在特定区域内的项目。我无法创建一个函数来为我做这件事。现在我必须手动设置每个实例的值。我将如何去做一个函数来取得所有的实例并将它们均匀地放在一个基于半径的圆圈中?创建一个函数来放置子窗口小部件
这里是我手动设置放置位置的代码区域。功能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