QListwidget拖拽交换item问题
我想在QT中继承Qlistwiget这个类在这个类中实现类似window7最下面那一排状态栏图标拖拽交换位置的效果,求大神指导,最好能附上源码,小弟不胜感激。。。 Qt 源代码 类 继承 --------------------编程问答-------------------- 这个应该不难,你只要先实现拖拽功能,Qt的demo里面就有,然后根据实际拖拽的位置来判断下图标的位置,重新设定图像的Index就可以了 --------------------编程问答-------------------- 有两个问题没解决1.QT自带的那个拖拽是拖动出来的一张原图的缩影,而不是原图,不知道如何移动原item的坐标实现拖动
2.我继承QT的qlistwidget写拖动的时候当list个数太多了我拖动个数靠后的item获取的下落位置就不对了不知道是不是qt api的bug还是我用错了,我用itemat和indexat都试过获取不到drog位置的item,靠前的item获取坐标是对的拖动也能成功 --------------------编程问答-------------------- 《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下面那排列表一样的拖拽效果 --------------------编程问答-------------------- Qt欢迎菜单中Drag与Drop事例 --------------------编程问答-------------------- 根据你的要求你可以在mousePressEvent和mouseReleaseEvent的时候可以获取你想要的坐标,而QListWidget中有itemAt函数可以用坐标获取item,之后就可以用你的方法take和insert进行操作。
补充:移动开发 , Qt