4

您好我正在使用 QLabel 在 QtForm 中显示图像。我的代码是这样的

QVBoxLayout *layout = new QVBoxLayout;
QHBoxLayout *hLayout = new QHBoxLayout;
layout->setMargin(5);
QLabel *imageLabel = new QLabel;
QPixmap pixmap("/images/test.jpg");
imageLabel->setPixmap(pixmap);
imageLabel->setMask(pixmap.mask());
imageLabel->setMinimumSize(160, 160);
imageLabel->resize(500, 320);

layout->addWidget(imageLabel,0,Qt::AlignTop | Qt::AlignCenter);
hLayout->addItem(layout);

widget->setLayout(hLayout);

scrollArea->setWidget(widget);
setCentralWidget(scrollArea);

但是图像显示在左上角,有人可以建议我将图像置于表格的中心吗

4

3 回答 3

5

我得到了解决方案,

QPixmap pixmap("images/test.png");
imageLabel->setPixmap(pixmap);
imageLabel->setMinimumSize(160, 160);
imageLabel->resize(500, 320);
imageLabel->setAlignment(Qt::AlignCenter);


scrollArea->setWidget(widget);
setCentralWidget(imageLabel);
于 2012-11-26T07:18:02.347 回答
3

更改 QLabel 内容的对齐方式:

imageLabel->setAlignment(Qt::AlignCenter);
于 2012-11-22T07:17:17.923 回答
0

如果该setAlignment功能不能单独使用,请与setSizePolicy.

imageLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
imageLabel->setAlignment(Qt::AlignCenter);
于 2017-09-15T23:57:34.643 回答