• 7575阅读
  • 2回复

如何更改layout的布局位置? [复制链接]

上一主题 下一主题
离线babyfacewa
 

只看楼主 倒序阅读 楼主  发表于: 2009-03-03
很迷惑QT的布局,不使用designer直接编写时如果主容器控件的构造函数内没有layout的话就不能显示其中的子控件,而如果应用layout的话,如何指定layout的位置?
比如想把layout放在QRect(60,60,200,40)的位置和大小,使用了layout::setGeometry(QRect(60,60,200,40));可是实际的显示结果是如果是HVBoxLayout则仍然水平占满主控件,而且不管主控件多大,它是居中放置的,请问怎样才能达到我想要放置的结果呢?
非常感谢各位帮助!
离线devehe
只看该作者 1楼 发表于: 2009-03-05
QHBoxLayout *hlay = new QHBoxLayout;

hlay->addWidget( ... );
hlay->addWidget( ... );
hlay->addWidget( ... );

hlay->setContentsMargins(  40,  10, 60, 20 ); // 设置左、上、右、下间隔的距离

稍微调整下,应该可以得到你想要的位置。
离线wd007

只看该作者 2楼 发表于: 2009-03-05
“hlay->setContentsMargins(  40,  10, 60, 20 ); // 设置左、上、右、下间隔的距离”

这个还是很有用的,固定或改变边距
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个