【问题标题】:Remove extra space around QLabel删除 QLabel 周围的额外空间
【发布时间】:2013-08-21 02:04:31
【问题描述】:

我用

尝试了样式表
padding:0px, 
text-ident:0px; 
margin:0px; 
border: none;

并通过代码,将 Size Policy 更改为 Expanding。

具有标签的小部件内部的布局有

QHBoxLayout* lyt = new QHBoxLayout();
setLayout(lyt);
lyt->setContentsMargins(0,0,0,0);

并且在父窗口小部件中也将内容边距设置为 0。

我让它变小的唯一方法是将固定大小设置为更小的大小。但是文本有自动换行属性,所以它可以更大,我无法控制。

我该怎么办?

【问题讨论】:

    标签: qt qt4 qlabel


    【解决方案1】:

    如果您想删除多余的间距,那么您可以在布局上尝试以下操作。它对我有用。

    lyt->setMargin( 0 );
    lyt->setSpacing( 0 );
    

    如果你想减小特定 QLabel 的大小,那么你可以设置:

    QLabel *myLabel = new QLabel( this );
    myLabel->setMaximumWidth( MAX_WIDTH );
    

    【讨论】:

    • setMargin 不起作用,setSpacing 和 setContentsMargins 到最近设置的布局通常可以工作,但令人惊讶的是这里没有。标签周围仍然有边距。上下。
    【解决方案2】:

    我已经知道发生了什么。边距和所有东西都在工作。

    问题与边界有关。顶部和底部边框的高度为 5 px。如果您设置了边框高度,那么无论您有哪些边距或填充,它都会成为内容的障碍。我将创建另一个帖子来看看这里发生了什么,如果有其他方法可以解决这个问题,并覆盖边框的位置。

    谢谢!

    【讨论】:

      猜你喜欢
      • 2018-02-18
      • 2014-08-25
      • 2012-08-22
      • 2012-05-14
      • 2012-08-14
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多