Qt:一行上不同大小的QLabels

Qt: Different sized QLabels on one line

本文关键字:QLabels 一行 Qt      更新时间:2023-10-16

我正在尝试在我的小部件中显示不同的图像。我将图像放在QLabel中,并调整这些标签的大小。

我想将它们彼此相邻显示,所以我使用 QHBoxLayout .但是,当它们被显示时,图像的中心是对齐的,我希望图像的底部对齐。

这是我到目前为止的代码:

QWidget *widget = new QWidget(ui->tagcloud);
QHBoxLayout * l = new QHBoxLayout(widget);
ui->tagcloud->setWidget(widget);
l->addStretch();
for(int i=0;i<lijst.size();++i)
{
    QLabel *lab = new QLabel;
    QPixmap pic((lijst[i].imgPath).c_str());
    int sizeChange = 50 + (2*lijst[i].percent);
    lab->setFixedSize(QSize(sizeChange, sizeChange));
    lab->setPixmap(pic);
    lab->setScaledContents(true);
    l->addWidget(lab);
}
l->addStretch();
l->setSpacing(1);

您需要在 QHBoxLayout 和 QLabel 中设置对齐方式,以便根据需要定位项目。看看 setAlign 函数和 align 属性。