• 5120阅读
  • 4回复

[提问]鼠标拉动控件改变大小该如何实现 [复制链接]

上一主题 下一主题
离线bkey
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-15
要实现鼠标点中目标控件后,显示边框,或显示八个点,可以用鼠标拖动改变大小,好像designer 中放置控件,可以拉动
现在我能识别出鼠标点击哪个控件,但是不知道如何实现边框和拖动大小
请各位提示一下思路,或给简单例子
离线roywillow

只看该作者 1楼 发表于: 2013-01-15
拖动大小与mousePressEvent()和mouseMoveEvent()有关,再具体怎么做就一言难尽了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线bkey

只看该作者 2楼 发表于: 2013-01-16
回 1楼(roywillow) 的帖子
实现边框的显示,能不能用style sheet 处理,还是说有函数处理?
拖动问题,是要自己检测移动到控件边框位置?
离线daily

只看该作者 3楼 发表于: 2013-01-16
painterEvent中获取QWidget 的geometry绘制出来。取出geometry 的topleft  topmid topright  ......以其他的颜色绘制, 在 mouseMoveEvent中pick到这几个点,在移动过程中更改geometry,或许可以实现。备注如果geometry 不行尝试rect, 仅供参考。
离线bkey

只看该作者 4楼 发表于: 2013-01-16
回 3楼(daily) 的帖子
谢谢
快速回复
限100 字节
 
上一个 下一个