勿忘初心做自己 发表于 2024-9-5 03:18:15

【Qt】Spacer

Spacer

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


[*]核心属性
属性说明         width               宽度                height                ⾼度               hData               ⽔平⽅向的 sizePolicy         

[*]QSizePolicy::Ignored : 忽略控件的尺⼨,不对布局产⽣影响。
[*]QSizePolicy::Minimum : 控件的最⼩尺⼨为固定值,布局时不会超过该值。
[*]QSizePolicy::Maximum : 控件的最⼤尺⼨为固定值,布局时不会⼩于该值。
[*]QSizePolicy::Preferred : 控件的理想尺⼨为固定值,布局时会尽量接近该值。
[*]QSizePolicy::Expanding : 控件的尺⼨可以根据空间调整,尽可能占据更多空间。
[*]QSizePolicy::Shrinking : 控件的尺⼨可以根据空间调整,尽可能缩⼩以适应空间。
         vData                垂直⽅向的 sizePolicy               选项同上.       例子:在俩个按钮中心添加空缺

(1)在界面上创建QHBoxLayout,并添加俩个按钮。 
https://i-blog.csdnimg.cn/direct/67f91895df5a4a1fbe543b41176ac105.png
 https://i-blog.csdnimg.cn/direct/f1b0bec68f344e9b9a19ab8a38727738.png
(2)在按钮中心添加Spacer
https://i-blog.csdnimg.cn/direct/ac388aeb50634df296b71d5edd55d108.png
https://i-blog.csdnimg.cn/direct/e381e45f8dd349fca53a99d6359c02c7.png
(3)代码展示
#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;
}












免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Qt】Spacer