请教关于QGridLayout布局的问题。。

shen_wei 2012-06-01 09:39:58


多个Button,如图片中所示。。右边红色那四个Button在默认时,已经添加了,显示时是隐藏的状态!!

当某一个条件触发时,显示出来这个Button选项!

gBox->addWidget(Button1,0,0);
gBox->addWidget(Button2,1,0);
gBox->addWidget(Button3,2,0);
gBox->addWidget(Button4,3,0);
gBox->addWidget(Button5,5,0);

Button3->hide();
Button4->hide();
///// 就是图片左边的那个图。。

当条件满足时,
Button3->show();
Button4->show();
//// 这是右边的那个图。。但是整体的Button高度变小了,看着真难看!!

1.有什么办法来实现 Button的高度一致。。

2.QGridLayout 增加删除有什么好的方法来实现。。

3.删除并不是真正的删除,以后这个Button还要继续使用!!类似与hide show。。但要保证界面的美观!!

...全文
1146 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
问题解决了。。。

附上博客地址 :


http://blog.csdn.net/shen_wei/article/details/7633847
shen_wei 2012-06-05
  • 打赏
  • 举报
回复


附上界面原图。。。
llollolloll 2012-06-05
  • 打赏
  • 举报
回复
没试出来
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 的回复:]

看看你的grid布局有足够的空间吗,显示全部的按钮
[/Quote]

布局是没有限制大小的。。写多少个都可以加入。。使用了scollbar。
jdwx 2012-06-05
  • 打赏
  • 举报
回复
看看你的grid布局有足够的空间吗,显示全部的按钮
shen_wei 2012-06-05
  • 打赏
  • 举报
回复


这个就是现在的图像。。。
yingwenzifu 2012-06-05
  • 打赏
  • 举报
回复
别用hide了,使用setVisible(fasle)试一下~~
jdwx 2012-06-05
  • 打赏
  • 举报
回复
估计是这么回事,grid布局外面还要一个vbox布局和一个弹簧,否则一部分按钮不见了,grid布局会平均空间。
估计还是看不见图。
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
Button的高度现在可以固定了。。

但是QGridLayout的间距出问题了。开始设置是 10,显示后就改变成3了。。一会儿上图。。
jdwx 2012-06-05
  • 打赏
  • 举报
回复
重写按钮的resizeEvent在里面输出按钮高度,很容易就看出来。
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
怀疑是QGridLayout的问题。。因为这个在显示时,没有显示出来整个Layout的大小。。

当隐藏的Button显示时,Layout的大小没有改变。。就这样压缩Button的大小

例如: Button 高度30 6个正常显示 6*30 = 180

显示剩余4个Button 10*30 = 300 ,但是layout整体就是180。所以 180/10 = 18 Button的高度就这样压缩了。。
jdwx 2012-06-05
  • 打赏
  • 举报
回复
既然是这样,就看看按钮显示出来之后高度是多少?
高度都固定了,怎么还一会大一会小的,肯定有问题。
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
派生Button是固定大小的。。

setAutoDefault(true);
setStyleSheet("text-align:left");
setFocusPolicy(Qt::NoFocus);
setFixedHeight(30);


也就是修改了这些信息。。。
jdwx 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

Button是一个派生类。。其它地方还在有调用,改改真难。。。
[/Quote]
原来不是原装的button啊,是不是修改了大小尺寸相关的部分。
shen_wei 2012-06-05
  • 打赏
  • 举报
回复
Button是一个派生类。。其它地方还在有调用,改改真难。。。
jdwx 2012-06-04
  • 打赏
  • 举报
回复
有没有可能是个BUG?
或者是按钮字体的问题?
所以我说的用QVBoxLayout和QHBoxLayout嵌套,替换QGridLayout。
  • 打赏
  • 举报
回复
每次隐藏显示的时候 先把widget上的Layout 清掉,重新Layout一遍
shen_wei 2012-06-04
  • 打赏
  • 举报
回复
怎么没有高人来解答了。。如何才能做出更好看的QGridLayout
jdwx 2012-06-04
  • 打赏
  • 举报
回复
固定高度,不可以弄得高度合适点吗。
shen_wei 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

还是那句话:所以我说的用QVBoxLayout和QHBoxLayout嵌套,替换QGridLayout。
还不行的话,就固定按钮高度吧。
[/Quote]

贴图的就是固定Button高度的样子。。太难看了!!
加载更多回复(10)

16,154

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧