如何在Qt中将QLabel设置为工具栏的中心对齐



我是qt的新手,正在探索它。我想在主窗口的工具栏中有一个居中对齐的文本。下面是我在 MainWindow 构造函数中的代码:

QLabel* label=new QLabel("Hello World");
label->setAlignment(Qt::AlignHCenter);
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(label);
QWidget* wid = new QWidget;
wid->setLayout(layout);
ui->mainToolBar->addWidget(wid);

上面的代码显示文本,但不在中心。它显示在左侧。我错过了什么?任何帮助都会非常有帮助。

label->setAlignment(Qt::AlignHCenter);

这告诉标签(水平(使文本本身居中。

layout->addWidget(label);

默认情况下,这将扩展到

layout->addWidget(label, 0);

其中 0 是此布局中标签的拉伸因子。零表示您的标签将获得正确显示所需的空间,但仅此而已。因此,您的标签与您的文本需求一样大,它以文本为中心,但由于它位于 QHBoxLayout 上,因此它显示在栏内的左侧。如果栏的布局中没有其他小部件,您可以将拉伸系数设置为 1 以使标签填充布局,然后您的文本将显示在中心。

layout->addWidget(label, 1);

最新更新