标题:Qt怎么实现这种效果呢?两个控件之间有重叠,缩放窗口时两个控件随之缩放,但不改变两个控件相对位置。
作者:retioa
日期:2017-09-11 20:28
内容:
如下图所示, 倒数第二个圆形的图片和长条的图片,在红框处两个控件有重叠。
下面的Gif图片是在Qt Creator里进行鼠标缩放, 缩放窗口时,二者会同时缩放,且相对位置不会改变。
放了个GridLayout,还有两个 VerticalLayout , 做到了缩放窗口时,二者会同时缩放,且相对位置不会改变。 但是不知道怎么使二者有重叠。
然后就完全没有思路了。 哪位大神可以指点一下?
#1 [gnibuoz 09-12 10:38]
重叠的话用布局应该是没法实现的,我之前也遇到过类似需求,当时是采用重载父窗体resize事件,每次窗体大小改变时候重新计算一个合适的位置以及大小来实现的,你可以试试
#2 [never_forget 09-12 11:20]
这个布局实现是不可能的,这个应该是事件完成的,点击上面的按钮,把隐藏在按钮下面的控件的长度变宽,给它一个动画,应该就是你要的效果了!
#3 回 gnibuoz 的帖子 [retioa 09-12 14:30]
gnibuoz:重叠的话用布局应该是没法实现的,我之前也遇到过类似需求,当时是采用重载父窗体resize事件,每次窗体大小改变时候重新计算一个合适的位置以及大小来实现的,你可以试试 (2017-09-12 10:38)
谢谢回复。 想到过这个方法。 但是实际项目中有好多个这种需求。 工作量好大,做起了不划算。 还想到过叠加两层 QWidget 实现,但是底下的一层 QWidget 不太好控制:勉强算是点击到了底下的一层 QWidget 的控件, 但是鼠标提示不好做, 改变鼠标形状也比较难。
#4 [大漠之鹰 09-12 17:36]
可以根据resize的值对widget进行scale,这样的话所有的控件相对位置和重叠关系都不会发生变化
#5 回 大漠之鹰 的帖子 [retioa 09-12 19:13]
大漠之鹰:可以根据resize的值对widget进行scale,这样的话所有的控件相对位置和重叠关系都不会发生变化 (2017-09-12 17:36)
谢谢回复。 怎么对widget进行scale啊? 可否细说一下?