PyQt 中支持拖放的 QTreeView
在 PyQt 4 中,我想创建一个 QTreeView,可以通过拖放操作重新组织其结构。
我已经为 QTreeView 实现了自己的模型(QAbstractItemModel),因此我的 QTreeView 可以正确显示数据。 现在我想添加对树节点的拖放支持,以便能够将树内的节点从一个父级移动到另一个父级,进行拖动复制等,但我找不到任何完整的教程如何实现这一点。我发现了一些关于 QTreeWidget 的教程和提示,但没有找到带有自定义模型的 QTreeView 的教程和提示。 有人能指点我去哪里看吗?
谢谢。
In PyQt 4 I would like to create a QTreeView with possibility to reorganize its structure with drag and drop manipulation.
I have implemented my own model(QAbstractItemModel) for QTreeView so my QTreeView properly displays the data.
Now I would like to add drag and drop support for tree's nodes to be able to move a node inside the tree from one parent to another one, drag-copy and so on, but I cannot find any complete tutorial how to achieve this. I have found few tutorials and hints for QTreeWidget, but not for QTreeView with custom model.
Can someone point me where to look?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过将 QtGui.QAbstractItemView.InternalMove 设置为 dragDropMode 树视图控件的属性。另请查看此处的文档 使用拖放随项目视图一起下降。下面是一个树视图的小示例,其项目启用了内部拖放。
Edit0:树视图+抽象模型,支持拖放
希望这有帮助,问候
You can enable drag and drop support for tree view items by setting QtGui.QAbstractItemView.InternalMove into the dragDropMode property of the treeview control. Also take a look at the documentation here Using drag & drop with item views. Below is a small example of a treeview with internal drag and drop enabled for its items.
Edit0: treeview + abstract model with drag and drop support
hope this helps, regards