关于qt中的QTreeWidget的拖放问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于qt中的QTreeWidget的拖放问题相关的知识,希望对你有一定的参考价值。

我在做一个ftp下载的客户端
其中本地目录和远程目录是两个QTreeWidget
我现在要实现拖放功能,以下是两个QTreeWidget的样式
local:
FileA
FIleB
FileC

remoto:
DirA
DirA_1
DirA_2
DirB

当我拖动FileA到DirA上的时候,展开DirA,我现在遇到的问题是,拖到DirA上时没办法获取DirA这个item,
我现在的做法是dragEnterEvent事件触发是connect一个itemEntered的信号,这样鼠标移到DirA上时就可以得到这个item了,
但是运行之后发现,itemEntered信号只有在dropEvent后才会被触发,drag期间并没有触发,大家帮我想想解决方法是什么
谢谢啦
treewidget->setMouseTracking(true)
这个我已经设了,没有

参考技术A void QTreeWidget::itemEntered ( QTreeWidgetItem * item, int column ) [signal]

This signal is emitted when the mouse cursor enters an item over the specified column. QTreeWidget mouse tracking needs to be enabled for this feature to work.
你把treewidget->setMouseTracking(true)试下本回答被提问者采纳
参考技术B 能够把代码贴出来,分享下吗?

以上是关于关于qt中的QTreeWidget的拖放问题的主要内容,如果未能解决你的问题,请参考以下文章

QTreeWidgetItem 的拖放不能正常工作

Qt4是不是实现了窗口图标的拖放?

qt qtreewidget自动展开失效

Qt5:使用 QSortFilterProxyModel 时的拖放

新的拖放机制在 Qt-Quick (Qt 5.3) 中无法按预期工作

QT中如何实现一个TreeWidget的拖拽功能