当前位置:编程学习 > wap >>

请问一个layout的问题

--------------------编程问答-------------------- QLayout::spacing : int

This property holds the spacing between widgets inside the layout.

If no value is explicitly set, the layout's spacing is inherited from the parent layout, or from the style settings for the parent widget.

For QGridLayout and QFormLayout, it is possible to set different horizontal and vertical spacings using setHorizontalSpacing() and setVerticalSpacing(). In that case, spacing() returns -1.

Access functions:
int  spacing () const
void  setSpacing ( int ) --------------------编程问答-------------------- 似乎应该是contentsMargins设置问题

http://doc.qt.nokia.com/4.7/qlayout.html#setContentsMargins --------------------编程问答-------------------- mainLayout->setContentsMargins(0,0,0,0)试试? --------------------编程问答-------------------- label->setContentsMargins(0,0,0,0);
    mainLayout->setSpacing(0);
都试过了,还是不行,不明白为什么,setSpacing是肯定不行,这个对于hboxlayout职能设置水平space --------------------编程问答--------------------
引用 4 楼 foxpicobsd 的回复:
label->setContentsMargins(0,0,0,0);
    mainLayout->setSpacing(0);
都试过了,还是不行,不明白为什么,setSpacing是肯定不行,这个对于hboxlayout职能设置水平space

这个?
你还没发现我给的manual链接以及3楼给你的语句,和你这儿试的是不同的东西么? --------------------编程问答-------------------- 不好意思确实是我没看仔细
我又尝试了一下 mainLayout->setContentMargin(0,0,0,0)
还是不行,
不过我似乎有新发现,我把作为container的这个widget的setFixedSize(350,40);去掉,
这个widget就紧紧地包住这个label了,这是为什么呢?,能不能设定让这个label在垂直方向总是stretch呢
还请麻烦再指点一下,



--------------------编程问答-------------------- label ->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);

原因可能是你没有设置label的伸展策略。好好查看一下setSizePolicy函数吧
--------------------编程问答-------------------- 还是不行啊,我调用了 label->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding); 其他的标志也都设定了
最奇怪的是, 我调用label->height() 看高度,总是480。
实在不明白
--------------------编程问答-------------------- 用Qt的Designer来设计吧, 会简单一些 --------------------编程问答-------------------- 是的,纯代码的太复杂啦 --------------------编程问答-------------------- setFixedSize()是不能改变大小的 --------------------编程问答-------------------- 加弹簧 --------------------编程问答-------------------- 不懂,顶顶。 --------------------编程问答-------------------- mainLayout->setContentsMargins(0,0,0,0); --------------------编程问答-------------------- 问题解决了吗?
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,