消除QLabel顶部的间隙

时间:2017-08-18 07:26:31

标签: c++ qt qt5 qlabel

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

here

我不想要这个差距,我的UI当前用户界面是这样的:

enter image description here

其中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)); } } 是包含图像的QLabel的对象名称。

我的构造函数代码:

centralWidget

如图所示,使用top left中的更改,我可以从最左侧开始拍摄图像,但无法从顶部开始拍摄图像。

编辑:我需要的是我的图片从public static void main(String[] args) { WebDriver driver=new FirefoxDriver(); driver.get("https://www.google.com"); String c; c = driver.getTitle(); if (c!="Google") System.out.println("True"); driver.close(); } 开始,左边部分已完成,只剩下顶部。

我的UI部分:enter image description here

2 个答案:

答案 0 :(得分:3)

要显示在顶部,请使用setAlignment(),在您的情况下

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

答案 1 :(得分:0)

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