2

我是 Qt 的新手,我正在开发一个简单的程序来学习它。但是我遇到了布局问题。当我更改窗口的布局时,新布局会在窗口中居中。

让我用图像解释一下情况:

在此处输入图像描述

这是游戏的主菜单。当玩家点击 时High Scores button,布局会改变。但是,这样的位置存在问题high score layout

在此处输入图像描述

我试过QVBoxLayout, QHBoxLayout, QGridLayout了,但结果没有改变。另外,这里是示例代码:

QVBoxLayout* myLay = new QVBoxLayout();

gameBtn->hide();
passwordBtn->hide();
scoreBtn->hide();
quitBtn->hide();

QPushButton *backBtn = new QPushButton("Back to Menu" );
connect( backBtn, SIGNAL(clicked()), this, SLOT( backToMenu()) );
backBtn->setGeometry(650,520,100,35); // Has no effect

QString header = "HIGH SCORES: ";
QLabel *headerLabel = new QLabel( header );
headerLabel->setGeometry(20,20,260,25); //Has no effect
headerLabel->setFont( QFont("Courier New", 28 ) );

myLay->addWidget(headerLabel);
myLay->addWidget(backBtn);

setLayout(myLay);

谢谢!

4

1 回答 1

2

您可以使用QLayout::setAlignment(Qt::Alignment alignment)来设置布局的对齐方式。

myLay->setAlignment(Qt::AlignTop);
于 2013-10-17T11:29:33.257 回答