qlabel居中

Posted

技术标签:

【中文标题】qlabel居中【英文标题】:qlabel centering 【发布时间】:2012-04-06 16:43:08 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

通过调用QLabel::setAlignment 来对齐QLabel 中的文本,对我来说就像预期的那样。 也许您错过了将标签添加到布局(因此,如果您的小部件调整大小,您的标签会自动调整大小)。另见Layout Management。一个最小的例子:

#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();

【讨论】:

老兄,非常感谢。在阅读您的答案之前,我没有进行任何布局管理

以上是关于qlabel居中的主要内容,如果未能解决你的问题,请参考以下文章

Qt如何设置窗口屏幕居中显示以及设置大小

QT界面怎么使控件随窗口大小变化一直居中显示

QLabel 破坏了布局的中心对齐

我怎样才能让 QLabel 与它显示的 QPixmap 的大小完全一致?

excel中怎样使表格数据显示为水平居中和垂直居中?

-水平居中垂直居中水平垂直居中