• 8832阅读
  • 11回复

FramelessWindowHint窗口实现某种移动效果 [复制链接]

上一主题 下一主题
离线wxj120bw
 

只看楼主 倒序阅读 楼主  发表于: 2010-10-18
— 本帖被 XChinux 执行加亮操作(2010-10-20) —
我重写了FramelessWindowHint窗口的标题,但移动窗口时,发现是实时移动,怎么实现鼠标拖动到那,窗口才会移动。如下图所示。
离线roywillow

只看该作者 1楼 发表于: 2010-10-20
也就是说鼠标移动过程中窗口为一个框框在移动?
这个效果是windows设置出来的好像……
至于怎么实现……不清楚
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线XChinux

只看该作者 2楼 发表于: 2010-10-20
实现时可以实现的吧,处理drag and drop那部分的内容。有关drag 、drop的那几个事件。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线wxj120bw

只看该作者 3楼 发表于: 2010-10-22
to roywillow  因为自己实现了标题栏,所以原来的拖动效果没有了。

to XChinux    意见很宝贵。
离线wxj120bw

只看该作者 4楼 发表于: 2010-11-16
to all 还是没能实现这种效果,有人能实现这种效果吗?
离线kummar
只看该作者 5楼 发表于: 2010-11-17
在自己写的标题栏里,
重新实现这三个函数mousePressEvent(QMouseEvent *); mouseMoveEvent(QMouseEvent *); mouseRealseEvent(QMouseEvent *);行吗
整个窗口的移动动作在mouseRealseEvent(QMouseEvent *)中进行
离线wxj120bw

只看该作者 6楼 发表于: 2010-11-25
to kummar 这个尝试过,能实现拖拽后释放鼠标窗口才移动,不过就是拖拽过程没有虚线,感觉很奇怪。
离线water_wf

只看该作者 7楼 发表于: 2010-11-26
标题栏拖动,是窗口管理器在做,在窗体拖动,自己实现,这个效果也不难
离线kummar
只看该作者 8楼 发表于: 2010-11-26
引用第6楼wxj120bw于2010-11-25 23:48发表的  :
to kummar 这个尝试过,能实现拖拽后释放鼠标窗口才移动,不过就是拖拽过程没有虚线,感觉很奇怪。

这应该是一种拖动时的效果,你可以想办法把它实现,比方说,你自己先实现这样一个widget 在它上面只有虚线看得到,其它都是透明的,当你鼠标拖到哪,这个widget 就在哪显示,当鼠标release后,这个widget就隐藏了
离线mefalo
只看该作者 9楼 发表于: 2010-11-29
把windows的效果关了,默认好像就是这个效果

如果自己想实现可以参考一下qq截图的实现方法
离线qazasdwsx

只看该作者 10楼 发表于: 2010-12-01
能把你的代码贴上来看看不
离线xiawae
只看该作者 11楼 发表于: 2011-10-24
遇到了同样的问题,不知道怎么解决啊,杯具的狠!
快速回复
限100 字节
 
上一个 下一个