【Qt】Spacer

大柏怎么被偷了 2024-09-11 17:35:02 阅读 72

Spacer

在使用布局管理的时候,如果需要在控件之间添加一段空白,就可以使用QSpacerItem来表示。

核心属性

属性 说明

width

宽度

height

⾼度

hData

⽔平⽅向的 sizePolicy

QSizePolicy::Ignored : 忽略控件的尺⼨,不对布局产⽣影响。 QSizePolicy::Minimum : 控件的最⼩尺⼨为固定值,布局时不会超过该值。 QSizePolicy::Maximum : 控件的最⼤尺⼨为固定值,布局时不会⼩于该值。 QSizePolicy::Preferred : 控件的理想尺⼨为固定值,布局时会尽量接近该值。 QSizePolicy::Expanding : 控件的尺⼨可以根据空间调整,尽可能占据更多空间。 QSizePolicy::Shrinking : 控件的尺⼨可以根据空间调整,尽可能缩⼩以适应空间。

vData

垂直⽅向的 sizePolicy

选项同上.

例子:在俩个按钮中间添加空白

(1)在界面上创建QHBoxLayout,并添加俩个按钮。 

 

(2)在按钮中间添加Spacer

(3)代码展示

<code>#include "widget.h"

#include "ui_widget.h"

#include <QPushButton>

#include <QHBoxLayout>

#include <QSpacerItem>

Widget::Widget(QWidget *parent)

: QWidget(parent)

, ui(new Ui::Widget)

{

ui->setupUi(this);

// 设置俩个按钮

QPushButton* button1 = new QPushButton("按钮1");

QPushButton* button2 = new QPushButton("按钮2");

// 设置水平布局管理器

QHBoxLayout* layout = new QHBoxLayout();

this->setLayout(layout);

// 设置QSPacer

QSpacerItem* spacer = new QSpacerItem(200, 20);

// 将按钮添加到水平布局管理器上

layout->addWidget(button1);

// 将spacer设置到按钮中间

layout->addSpacerItem(spacer);

layout->addWidget(button2);

}

Widget::~Widget()

{

delete ui;

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。