• 7969阅读
  • 6回复

QListWidget获得的宽度和高度都是错误的,什么原因? [复制链接]

上一主题 下一主题
离线firerun
 

只看楼主 倒序阅读 楼主  发表于: 2015-05-27

ui文件里边QListWidget的宽度和高度是400×100。
程序显示的大小也是400×100。就是说显示的大小也是正确的。
但是在代码里用 with() 获得的宽度是100,用 contentRect().Width() 获得的宽度是98, 用frameWidth() 获得的宽度也是100.
获取的高度分别是30/28/30.
我就纳闷了,这从哪里来的这些数啊?
离线firerun

只看该作者 1楼 发表于: 2015-05-27
我用到了setupui()
离线roywillow

只看该作者 2楼 发表于: 2015-05-27
是在构造函数里获得的这些?我感觉在窗口show之前去获得尺寸都是不正确的,窗口的尺寸是在show的时候重新进行调整的吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线firerun

只看该作者 3楼 发表于: 2015-05-28
回 roywillow 的帖子
roywillow:是在构造函数里获得的这些?我感觉在窗口show之前去获得尺寸都是不正确的,窗口的尺寸是在show的时候重新进行调整的吧 (2015-05-27 19:39) 

不是在构造函数里获得的,是new了一个qwidget,然后new了一个ui,然后ui.setupui(widget).
然后用layout加进去的。
离线firerun

只看该作者 4楼 发表于: 2015-05-28
回 firerun 的帖子
firerun:不是在构造函数里获得的,是new了一个qwidget,然后new了一个ui,然后ui.setupui(widget).
然后用layout加进去的。 (2015-05-28 11:48) 

layout.addwidget(widget)
离线bran_lee

只看该作者 5楼 发表于: 2015-05-28
回 firerun 的帖子
firerun:layout.addwidget(widget) (2015-05-28 11:48) 

有时候只要没有show出来过,获取的都不对,需要调用adjustSize()之后才能获取正确的大小
当你只有锤子时,你看什么都像是钉子!
离线roywillow

只看该作者 6楼 发表于: 2015-05-28
回 firerun 的帖子
firerun:layout.addwidget(widget) (2015-05-28 11:48) 

所以说你获得尺寸的时机到底是show出来之后还是之前?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个