【问题标题】:How can I remove spacing around a widget in a layout?如何删除布局中小部件周围的间距?
【发布时间】:2016-07-20 13:42:23
【问题描述】:

我正在尝试将一个非常小的QLabel 插入一个非常小的QFrame

QFrame 用作分隔符,我认为它是添加文本的理想位置。

在代码中,文本会发生变化(inmm)。因为mm 是如此巨大它被剪掉了......

但在我看来,如果我能去掉边距,它会很合适!

所以我试试:

ui->tinyFrame 在 Designer 中创建...它的几何形状为 0,0,10,10

QLabel* unitLabel  = new QLabel("mm");
unitLabel->setFixedSize(8,8);
unitLabel->setFont(QFont("Arial Narrow", 7));
unitLabel->setMargin(0);
unitLabel->setContentsMargins(0,0,0,0);

QHBoxLayout* unitLayout = new QHBoxLayout();
unitLayout->setSpacing(0);    // I try everything
unitLayout->setMargin(0);
unitLayout->setContentsMargins(0,0,0,0);
ui->tinyFrame->setLayout(unitLayout);
ui->tinyFrame->setContentsMargins(0,0,0,0);
unitLayout->addWidget(unitLabel);

我还能尝试删除小标签周围的空间吗?

【问题讨论】:

    标签: qt layout


    【解决方案1】:

    我正在尝试将一个非常小的 QLabel 插入一个非常小的 QFrame。 我可以尝试删除小标签周围的空间吗?

    QLabel 派生自 QFrame:也许您可以将 QFrame 替换为 QLabel?并且该框架没有嵌套布局。

    ...只要您已经尝试过layout->setSpacing(0)...

    【讨论】:

    • 我试过了 - 文本仍然被剪裁。但由于某种原因,左边距消失了。我最终只是给它一个更大的尺寸 - 尺寸没有增加,文本不再被剪裁......我不明白,但它有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2021-04-18
    • 1970-01-01
    • 2016-04-30
    • 2011-12-23
    • 2021-04-17
    • 2012-04-11
    相关资源
    最近更新 更多