找回密码
 立即注册
收起左侧

手动写栅格布局碰到的问题

8
回复
7152
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2014-5-20 10:19:48 显示全部楼层 |阅读模式
代码如下:
    QGridLayout *gLayoutMotoDA;    QLabel *labelSetPress;    QLabel *labelPressInput;    QSpinBox *spinboxMotoDA;    QLineEdit *lineeditPressInput;    QPushButton *saveMotoDAData;
    gLayoutMotoDA = new QGridLayout(ui->tab_test);    gLayoutMotoDA->setGeometry(QRect(200,200,200,200));    gLayoutMotoDA->setSizeConstraint(QLayout::SetDefaultConstraint);
    labelSetPress = new QLabel("设置静压压力(&S)",ui->tab_test);    spinboxMotoDA = new QSpinBox(ui->tab_test);    labelSetPress->setBuddy(spinboxMotoDA);    gLayoutMotoDA->addWidget(labelSetPress,0,0,1,1);    gLayoutMotoDA->addWidget(spinboxMotoDA,0,2,1,4);
    setLayout(gLayoutMotoDA);

效果见图
问题是:
1:gLayoutMotoDA->setGeometry(QRect(100,100,50,50));
没有限制布局的大小?
2:
setLayout(gLayoutMotoDA);
这句话没有,布局效果也会显现出来。这一句没有不是不能生效么?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-20 20:14:28 显示全部楼层
本帖最后由 Syylc120317 于 2014-5-20 20:19 编辑

layout一般不选择父对象,所以这句话gLayoutMotoDA = new QGridLayout(ui->tab_test);  
应该是gLayoutMotoDA = new QGridLayout;   
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-5-21 14:49:13 显示全部楼层
Syylc120317 发表于 2014-5-20 20:14
layout一般不选择父对象,所以这句话gLayoutMotoDA = new QGridLayout(ui->tab_test);  
应该是gLayoutMoto ...

不设置显示效果不一样。但是setgemeotry也不能起作用哦。
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-21 19:42:59 显示全部楼层
caiwei_cs 发表于 2014-5-21 14:49
不设置显示效果不一样。但是setgemeotry也不能起作用哦。

layout好像不用这个setGeometry();布局管理器,这个是自动调整的。
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-5-21 21:41:31 显示全部楼层
Syylc120317 发表于 2014-5-21 19:42
layout好像不用这个setGeometry();布局管理器,这个是自动调整的。

我在ui里面自己添加了一个布局,里面加点widget
1.在右边的属性里面真没有看到有位置相关的
2.在qt自动生成的ui.h里面也没有看到设置位置

难道一个布局真的要布满整个窗口?要靠设置stretch 或者添加spacer 才行?
但是我用designer可以任意布置位置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-21 21:55:20 显示全部楼层
caiwei_cs 发表于 2014-5-21 21:41
我在ui里面自己添加了一个布局,里面加点widget
1.在右边的属性里面真没有看到有位置相关的
2.在qt自动生 ...

一个widget有一个总体的布局,下面还可以有布局。即这个布局是可以镶嵌的。
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-5-22 09:09:34 显示全部楼层
Syylc120317 发表于 2014-5-21 21:55
一个widget有一个总体的布局,下面还可以有布局。即这个布局是可以镶嵌的。 ...

你的意思是,1。为一个widget做一个整体布局 2.其他布局镶嵌在整体里面。应该就可以调整了。
是么?
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-22 10:14:40 显示全部楼层
caiwei_cs 发表于 2014-5-22 09:09
你的意思是,1。为一个widget做一个整体布局 2.其他布局镶嵌在整体里面。应该就可以调整了。
是么? ...

嗯。不过调整的应该是widget的大小,布局是用widget的撑起来的。
参与人数 1人气 +2 收起 理由
caiwei_cs + 2

查看全部评分总评分 : 人气 +2

回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-5-26 09:23:56 显示全部楼层
Syylc120317 发表于 2014-5-22 10:14
嗯。不过调整的应该是widget的大小,布局是用widget的撑起来的。

明白了,有机会用到的时候试一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了