QListwidget拖拽交换item问题

独家拥有 2013-07-27 07:18:13
我想在QT中继承Qlistwiget这个类在这个类中实现类似window7最下面那一排状态栏图标拖拽交换位置的效果,求大神指导,最好能附上源码,小弟不胜感激。。。
...全文
1310 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
祥龙九霄 2013-08-14
  • 打赏
  • 举报
回复
根据你的要求你可以在mousePressEvent和mouseReleaseEvent的时候可以获取你想要的坐标,而QListWidget中有itemAt函数可以用坐标获取item,之后就可以用你的方法take和insert进行操作。
chenbaohai 2013-08-07
  • 打赏
  • 举报
回复
Qt欢迎菜单中Drag与Drop事例
Inhibitory 2013-07-29
  • 打赏
  • 举报
回复
《C++ Programming with Qt 4》 Part 2, Chapter 9. Drag and Drop, Enabling Drag and Drop 有一样的例子.
独家拥有 2013-07-29
  • 打赏
  • 举报
回复
引用 3 楼 Inhibitory 的回复:
《C++ Programming with Qt 4》 Part 2, Chapter 9. Drag and Drop, Enabling Drag and Drop 有一样的例子.
师兄这个文章我看过了,不能满足我的需求,我是在QListwidget里实现了拖动的 我实现的方法是鼠标点击一个item的时候我记录下点击这个item,然后拖动它的略缩图然后我松开鼠标的时候我take我之前点击的item然后再新的地方insert我刚才记录下的item,目前就是这个新德地方如果太长了之后就获取不准了。。。我尝试过去获取item的坐标然后鼠标移动的时候改变它的坐标来直接拖动这个item,但是发现它没有坐标可以获取只有行号 不知道如何才能再QListwidget这个类中实现像window7下面那排列表一样的拖拽效果
独家拥有 2013-07-28
  • 打赏
  • 举报
回复
有两个问题没解决 1.QT自带的那个拖拽是拖动出来的一张原图的缩影,而不是原图,不知道如何移动原item的坐标实现拖动 2.我继承QT的qlistwidget写拖动的时候当list个数太多了我拖动个数靠后的item获取的下落位置就不对了不知道是不是qt api的bug还是我用错了,我用itemat和indexat都试过获取不到drog位置的item,靠前的item获取坐标是对的拖动也能成功
xiuxianshen 2013-07-27
  • 打赏
  • 举报
回复
这个应该不难,你只要先实现拖拽功能,Qt的demo里面就有,然后根据实际拖拽的位置来判断下图标的位置,重新设定图像的Index就可以了

16,238

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧