2013-08-19 32 views
0

删除多余的空间,我试图用样式表各地QLabel

padding:0px, 
text-ident:0px; 
margin:0px; 
border: none; 

并通过代码,改变大小政策扩大。

其中有标签的部件内部的布局有

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

和设置内容父控件边距设置为0了。

我把它做得更小的唯一方法是将固定尺寸设置为更小的尺寸。但是文字有wrap属性,所以它可以更大,我无法控制。

我该怎么办?

回答

1

如果要删除多余的间距,则可以在布局上尝试以下操作。它为我工作。

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

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

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

setMargin没有工作,setSpacing和setContentsMargins到最近设置的布局通常有效,但令人惊讶的是不在这里。标签继续在其周围留有余地。在和不在。 – darkgaze

0

我已经找到发生了什么事。利润率和所有的东西都在起作用。

enter image description here

的问题涉及边界。顶部和底部边界是5 px高度。如果您设置了边框高度,则无论您使用的是哪种边距或填充,都会成为内容的屏障。我将创建另一个帖子来查看这里发生了什么,如果有另一种方法来解决这个问题,并覆盖边界的位置。

谢谢!