图像不是在QtForm的中心显示

时间:2012-11-22 07:12:34

标签: qt

您好我正在使用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);

但是图像显示在左下角可以任何人建议我将图像置于窗体的中心

3 个答案:

答案 0 :(得分:4)

我得到了解决方案,

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

答案 1 :(得分:1)

更改QLabel内容的对齐方式:

imageLabel->setAlignment(Qt::AlignCenter);

答案 2 :(得分:0)

如果setAlignment功能无法单独使用,请将其与setSizePolicy一起使用。

imageLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
imageLabel->setAlignment(Qt::AlignCenter);