在mainWindow中居中QGroupBox

时间:2015-12-08 07:53:19

标签: qt

我需要将中心的groupbox与mainWindow对齐,这里groupbox包含一些文本字段和按钮。

我试过了

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
 ui->setupUi(this);
 ui->groupBox->setAlignment(Qt::AlignHCenter);  
 ui->groupBox->setAlignment(Qt::AlignVCenter);
}

但是当我运行应用程序时,它不会对UI进行任何更改。

这是正确的方法还是有更好的方法?

截图

enter image description here

1 个答案:

答案 0 :(得分:1)

virtual void resizeEvent(QResizeEvent * e)中执行以下操作:

ui->groupBox->setWidth(200); // or derive the size as you like
ui->groupBox->setHeight(100);

ui->groupBox->moveTo(center() - QPoint(ui->groupBox->width()/2, ui->groupBox->height()/2));

这应该保持你的框架始终在中心。 请注意,这种方法不需要任何布局。