QGridLayout如何使得子窗体靠紧上方而不是均匀分布

加盾男爵 2017-06-09 10:26:50
使用一个QGridLayout布局,子窗体包诺干,然后子窗体的个数有时候会改变,这就需要改变布局

QGridLayout被安装到一个固定大小的父窗体上,然后子窗体(其实就是一些固定大小的方块),这些子窗体有时候能够布满整个父窗体还需要用滚动条,有时候只能排满2-3行,同时设置布局间隙为0
gLayout->setSpacing(0)


我添加窗体的时候使用
gLayout->addWidget(childWidget,r,c))

然后问题来了,当子窗体比较少的时候,比如只有三排,布局管理器会均匀分布,第一行在父窗体最上面,第二行在中间,第三行在最下面

我想问下,当行较少的时候,比如只3行,这3行都贴在一起,在父窗体上按顺序从上到下排列,因为我希望布局的spacing()是0
...全文
1697 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bkdwei1 2019-03-30
  • 打赏
  • 举报
回复
用管理员的方法就行了。
layout->setAlignment(Qt::AlignTop)
效果如下
yhj674438511 2017-08-21
  • 打赏
  • 举报
回复
兄弟,这问题咋解决的啊?
菠萝猫咪 2017-06-12
  • 打赏
  • 举报
回复
QSpacerItem *verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); gLayout->addItem(verticalSpacer, r+1, 0, 1, 1);
加盾男爵 2017-06-12
  • 打赏
  • 举报
回复
来人接分
王桑的一天 2017-06-12
  • 打赏
  • 举报
回复 1
layout->setAlignment(Qt::AlignTop)

16,815

社区成员

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

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