我正在使用QT,我在QFrame中有一个带有QLabel的表单。我想设置QLabel的几何体,使QLabel的底部位于框架底部的同一位置。由于标签比框架长,因此y坐标应为负。
int pos = ui->imageFrame->height() - ui->imageLabel->pixmap()->height();
ui->imageLabel->setGeometry(0, pos, ui->imageFrame->width(), p.height());
虽然在打印QLabel的几何图形时,y坐标是正确的,但标签显示在框架的上半部分。
非常感谢帮助。
答案 0 :(得分:0)
您可以使用setAlignment
设置标签的对齐方式。这是一个有效的例子:
#include <QtWidgets>
#include "MyWidget.h"
MyWidget::MyWidget()
{
setFixedSize(200,200);
QLabel *label = new QLabel;
label->setPixmap(QPixmap("/some/image/file.jpg"));
label->setAlignment(Qt::AlignBottom);
QHBoxLayout *hbox = new QHBoxLayout;
hbox->addWidget(label);
hbox->setContentsMargins(0,0,0,0);
setLayout(hbox);
}