QGridLayout *layout = new QGridLayout();
QWidget *parentWidget = new QWidget();
layout->addWidget(parentWidget );
QWidget *childWidget = new QWidget(parentWidget);
QGridLayout *parentLayout = new QGridLayout();
parentWidget->setLayout(parentLayout);
parentLayout->addWidget(childWidget);
childWidget->setFixedSize(/*some fixed size for child widget*/);
somewidget->rect().center()
。像child->move(parent->rect().center() - child->rect().center());
这样的代码应该可以工作。 - thugashowEvent
函数中完成此操作,它将完美无缺地运行。请参考我的答案。 - thugaQGridLayout *layout = new QGridLayout();
QWidget *parentWidget = new QWidget();
layout->addWidget(parentWidget);
QGridLayout *parentLayout = new QGridLayout(&parentWidget);
parentLayout->addItem(new QSpacerItem(0,0, QSizePolicy::Expanding, QSizePolicy::Expanding),0,0);
parentLayout->addItem(new QSpacerItem(0,0, QSizePolicy::Expanding, QSizePolicy::Expanding),2,2);
QWidget *childWidget = new QWidget();
parentLayout->addWidget(&childWidget, 1, 1);