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

How to set a center aligned QLabel to toolbar in Qt

我是 qt 的新手并正在探索它。我想要一个在我的主窗口中居中对齐的文本 toolbar.Below 是我的 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);

上面的代码显示了文本,但在 left.What 的 center.It 显示没有显示,我错过了吗?任何帮助都会很有帮助。

label->setAlignment(Qt::AlignHCenter);

这告诉标签将文本(水平)居中。

layout->addWidget(label);

默认参数扩展为

layout->addWidget(label, 0);

其中 0 是此布局中标签的拉伸因子。零意味着你的标签将被给予尽可能多的 space 因为它需要正确显示但仅此而已。所以你的标签和你的文本需要的一样大,它的文本居中,但是因为它在 QHBoxLayout 上,所以它显示在你的栏的左侧。如果您的栏布局中没有其他小部件,您可以将拉伸因子设置为 1 以使标签填充布局,然后您的文本将显示在中心。

layout->addWidget(label, 1);