【发布时间】:2017-08-18 07:26:30
【问题描述】:
我在我的 Qlabel 上显示图像。现在它在窗口顶部和 QLabel(image) 顶部之间有一个间隙,如下所示:
我不想要那个差距,我的 UI 当前 UI 是这样的:
label_image 是包含图像的 QLabel 的对象名称。
我的构造函数代码:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
this->setFixedSize(700,700);
ui->setupUi(this);
ui->centralWidget->layout()->setMargin(0);
ui->centralWidget->layout()->setSpacing(0);
}
void MainWindow :: paintEvent(QPaintEvent * e)
{
QMainWindow::paintEvent(e);
if(1)
{
QImage image("/Users/arqam/Desktop/ImageToCartoon/input/ElonMusk.jpeg");
//some redundant code
ui->label_image->setPixmap(QPixmap::fromImage(image));
}
}
使用centralWidget 中的更改,如图所示,我能够让图像从最左侧开始,但无法让图像从顶部开始。
编辑:我需要的是我的图像从top left 开始,左边部分已经完成,只剩下顶部。
我的 UI 的 XML 部分:https://pastebin.com/thxhc2Mj
【问题讨论】:
-
@eyllanesc 哦,抱歉,这是冗余代码的一部分,现在编辑了代码。我正在缩放图像,然后在 QLabel 中显示,我想这不会造成任何差异。
-
@eyllanesc 是的,基本上我希望图像从左上角开始,以便起始坐标相同。
-
@eyllanesc 我在paintevent中进行了一些操作,基本上在坐标上绘制了一些点,为此我希望Qlabel也从左上角开始。
-
只有我一个人,还是
label_image似乎不受任何布局管理? -
@Polentino 我也用 XML 代码编辑了这个问题,在那里你可以看到它在 QVBoxLayout 下。