• 6428阅读
  • 4回复

[提问]在ScrollArea上应用Vertical Layout组织控件的问题(已解决) [复制链接]

上一主题 下一主题
离线liuxu_lx7
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-04
没有找到给 Layout  重新设置宽高的接口,而它本身又是裁剪它里面的控件。我希望可以,一个button接一个button等距的排列,因此想到用Vertical Layout。

我想实现的终极效果,是和UI Designer相同的这个界面
[ 此帖被liuxu_lx7在2011-05-10 17:07重新编辑 ]
离线梦之追风

只看该作者 1楼 发表于: 2011-05-04
TREEVIEW 放在LISTWIDGET里
离线liuxu_lx7
只看该作者 2楼 发表于: 2011-05-04
回 1楼(梦之追风) 的帖子
试过您的方法,本来以为符合需求了。结果发现:ListWidget 根本没起作用。
[ 此帖被liuxu_lx7在2011-05-04 12:02重新编辑 ]
离线liuxu_lx7
只看该作者 3楼 发表于: 2011-05-04
UI Designer实在搞不定,最后用了最笨的方法:用代码创建控件并计算每个控件size。
最终图:

谁有好方法呀?谢谢~~
离线liuxu_lx7
只看该作者 4楼 发表于: 2011-05-10
UI Designer的做法是,先创建父控件(Scroll Area),把子控件放上去,右键点击父控件->布局->垂直布局。

附:
从代码上看,QScrollArea::Widget()要大于QScrollArea的大小(准确说是QScrollArea::viewport()大小),才会出现滚动条。(如果不得以非要用代码的方式控制ScrollArea的子控件,注意修改QScrollArea::Widget()的大小,否则看不到滚动条)
并且,如果用UI Designer在ScrollArea上放置了Layout,在代码里使用QScrollArea::Widget()->Layout()的方式获取。

总:注意QScrollArea::Widget()
快速回复
限100 字节
 
上一个 下一个