qlabel居中

aqu*_*boy 17 qt centering qlabel

我在qwidget中有一个qlabel L.L垂直和水平对齐.当我调整W时,L不会居中.

这是预期的吗?让L再次居中的好方法是什么?

sgi*_*ibb 28

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();
}
Run Code Online (Sandbox Code Playgroud)