• 14257阅读
  • 5回复

[提问]Qt怎么实现这种效果呢?两个控件之间有重叠,缩放窗口时两个控件随之缩放,但不改变两个控件相对位置。 [复制链接]

上一主题 下一主题
离线retioa
 

只看楼主 倒序阅读 楼主  发表于: 2017-09-11
如下图所示, 倒数第二个圆形的图片和长条的图片,在红框处两个控件有重叠。



下面的Gif图片是在Qt Creator里进行鼠标缩放, 缩放窗口时,二者会同时缩放,且相对位置不会改变。



放了个GridLayout,还有两个 VerticalLayout , 做到了缩放窗口时,二者会同时缩放,且相对位置不会改变。 但是不知道怎么使二者有重叠。

然后就完全没有思路了。 哪位大神可以指点一下?
离线gnibuoz

只看该作者 1楼 发表于: 2017-09-12
重叠的话用布局应该是没法实现的,我之前也遇到过类似需求,当时是采用重载父窗体resize事件,每次窗体大小改变时候重新计算一个合适的位置以及大小来实现的,你可以试试
我就是我,颜色不一样的烟火...
离线never_forget

只看该作者 2楼 发表于: 2017-09-12
这个布局实现是不可能的,这个应该是事件完成的,点击上面的按钮,把隐藏在按钮下面的控件的长度变宽,给它一个动画,应该就是你要的效果了!
离线retioa

只看该作者 3楼 发表于: 2017-09-12
回 gnibuoz 的帖子
gnibuoz:重叠的话用布局应该是没法实现的,我之前也遇到过类似需求,当时是采用重载父窗体resize事件,每次窗体大小改变时候重新计算一个合适的位置以及大小来实现的,你可以试试 (2017-09-12 10:38) 

谢谢回复。 想到过这个方法。 但是实际项目中有好多个这种需求。 工作量好大,做起了不划算。 还想到过叠加两层 QWidget 实现,但是底下的一层 QWidget 不太好控制:勉强算是点击到了底下的一层 QWidget 的控件, 但是鼠标提示不好做, 改变鼠标形状也比较难。
离线大漠之鹰

只看该作者 4楼 发表于: 2017-09-12
可以根据resize的值对widget进行scale,这样的话所有的控件相对位置和重叠关系都不会发生变化
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线retioa

只看该作者 5楼 发表于: 2017-09-12
回 大漠之鹰 的帖子
大漠之鹰:可以根据resize的值对widget进行scale,这样的话所有的控件相对位置和重叠关系都不会发生变化 (2017-09-12 17:36) 

谢谢回复。 怎么对widget进行scale啊? 可否细说一下?
快速回复
限100 字节
 
上一个 下一个