QT 树形结构 拖拽实现
我想在界面中添加一个树形结构显示信息.不知道应该使用QTreeWidget还是QTreeView?
我的要求是要可以实现拖拽功能,可以将一个分支的项拖拽到另一个分支中.
另外,如果使用QTreeWidget,添加数据的时候是不是要一行一行的insert?听人说过要使用Model,可以简化操作,QTreeWidget也可以使用Model吗?应该怎么使用?
最好有源代码可以让我分析一下.
邮箱:ff007007@tom.com
十分感谢.
[解决办法]
如果要使用 model/view框架,应该使用QTreeView,否则使用QTreeWidget,关于model/view的使用方法,见文档:http://developer.qt.nokia.com/doc/qt-4.8/model-view-programming.html
关于拖拽么,楼下来解答吧
[解决办法]
使用QTreeWidget也可以完成拖动,而且效率也不差。
设置setDragDropMode(QAbstractItemView::InternalMove);
然后重载bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action)方法。
视觉上的事情Qt已经帮你做完了,你只需要在这个方法中把模型调整好就OK了。效率与Model/View结构是一样的,反正调整模型是怎么也少不了的。
如果我没记错的话。呵呵