• 6108阅读
  • 8回复

树的结点用鼠标拖动的问题 [复制链接]

上一主题 下一主题
离线leon0356
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-29
    在一棵树上用鼠标拖动结点可以改变树的结构(即父子关系).
或者 2棵树之间,把一棵树的结点拖动到另一棵树上:       A树的结点a拖向B树,如果a拖到B的某一个结点b,就成为这个结点b的孩子,如果a 拖到B树外(即未指定B树的任何结点),a与B的根结点在同一层.


请问上面的例子QT可以实现吗? 要调用什么函数? 有相关的例子吗?
离线cspp

只看该作者 1楼 发表于: 2009-10-29
你用的是QTreeWidget?
离线leon0356
只看该作者 2楼 发表于: 2009-10-29
恩 ,是的
离线nmiirq

只看该作者 3楼 发表于: 2009-10-30
QT是支持的,你可以试一下
离线leon0356
只看该作者 4楼 发表于: 2009-11-02
谢谢,解决了一些,现在有一个问题,就是A树的结点a拖向B树,如何判断鼠标放开时,是落在B树的某一结点上,还是落在空白区域。
只看该作者 5楼 发表于: 2009-11-03
你好,我现在也在实现这个功能,弄了好久都没有弄出来,现在有个问题是A树的节点如果有子项的话,过去的只是parent,而它的child过不去,楼主遇到过这种问题吗?
离线leon0356
只看该作者 6楼 发表于: 2009-11-03
和你的不一样,我的只需要移动叶子结点就可以了,不需要移动parent。

我的是这个功能无法实现,如果a拖到B的某一个结点b,就成为这个结点b的孩子,如果a 拖到B树外(即未指定B树的任何结点),a与B的根结点在同一层.

我不知道怎么判断判断鼠标放开时,是落在B树的某一结点上,还是落在空白区域。
只看该作者 7楼 发表于: 2009-11-03
恩,我明白你的意思了,可以留下一个联系方式吗?我的qq号是363976452
离线leon0356
只看该作者 8楼 发表于: 2009-11-03
我的QQ是460660561.

我刚刚看API  你看看virtual QMimeData * mimeData ( const QList<QTreeWidgetItem *> items ) const对你有帮助吗?是QTreeWidget里的函数。

你的功能我也没遇到过,我感觉如果可以把孩子结点的信息放在mimeData里带过去,在另外一边重建一下,这方法你试试吧,祝你成功!!
快速回复
限100 字节
 
上一个 下一个