如何将一个小部件置于另一个小部件的中心

问题描述 投票:0回答:1

我的

QLabel L
里面有一个
QWidget W
L
垂直和水平对齐。当我调整
W
大小时,
L
没有居中。

这是预期的吗?

如何使

L
再次居中?

qt
1个回答
41
投票

要对齐

QLabel
中的文本,请调用
QLabel::setAlignment

也许您错过了将标签添加到布局中(因此如果您的小部件调整大小,您的标签将自动调整大小)。另请参阅布局管理

一个最小的例子:

#include <QApplication>
#include <QHBoxLayout>
#include <QLabel>
#include <QWidget>

int main(int argc, char* argv[]) {
    QApplication app(argc, argv);

    QLabel* label=new QLabel("Hello World!");
    label->setAlignment(Qt::AlignCenter);
    
    QWidget* widget=new QWidget;
   
    // create horizontal layout
    QHBoxLayout* layout=new QHBoxLayout;
    // and add label to it
    layout->addWidget(label);
    // set layout to widget
    widget->setLayout(layout);
    
    widget->show();

    return app.exec();
}
© www.soinside.com 2019 - 2024. All rights reserved.