繁体   English   中英

消除QLabel顶部的间隙

[英]Removing gap from top of QLabel

我在我的Qlabel上显示图像。 现在它在窗口顶部和QLabel(图像)顶部之间有一个间隙,如下所示:

在此输入图像描述

我不希望这个差距,我的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部分: https//pastebin.com/thxhc2Mj

要显示在顶部,请使用setAlignment()

ui->label_image->setAlignment(Qt::AlignTop);

基于注释和xml文件,我认为在添加label_image之后立即调用QBoxLayout :: addStretch()就足够了。 这将在标签和水平布局之间插入一个QSpacerItem ,即使您调整小部件的大小,也会将图像保持在顶部,其余按钮位于底部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM