• 3221阅读
  • 2回复

[提问]不用布局管理器能否手动管理布局?【解决】 [复制链接]

上一主题 下一主题
离线phoinikas
 

只看楼主 倒序阅读 楼主  发表于: 2014-10-29
由于mac下面SDL跟QT的兼容原因,对于窗口a,任何addWidget(a)之类的操作都会使SDL不能用窗口a作显示其他窗口都是用Layout设置好了。

一开始我想先获取窗口b位置,然后根据相对位置a->setGeometry,但是在获取的时候发现窗口b的位置是(0,0),应该是layout还没有完成对窗口的处理,请教下有没有什么办法解决这个问题

我的思路是找有没有什么signal,比如layout完成布局,或者QWidget位置变化的信号,让我设置个槽函数来完成设置,但是还没找到
离线roywillow

只看该作者 1楼 发表于: 2014-10-29
不用layout那就只有自己调用setGeometry()了吧
布局完成应该是窗口show()之后,但是qt没有提供信号
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线phoinikas

只看该作者 2楼 发表于: 2014-10-29
解决方法是用eventFilter截取一个窗口的resizeEvent,获取位置,然后根据相对坐标setGeometry。
快速回复
限100 字节
 
上一个 下一个