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 に答える