使用PyQ中的拖放功能重新排序QTreeWidget中的项目

2024-09-30 02:15:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个QTreeWidget,它具有我认为所有正确设置的设置,以便能够通过拖动项目来重新排序。它有时也能工作,但更多的时候我把一个项目拖到另一个项目中,它要么消失要么变成孩子。在

有什么方法可以防止这种情况发生,这样你就不会丢失正在重新订购的物品吗?我想你可以在Qt设计器中实现这一点。我已经将dragDrop模式设置为InternalMove,defaultDropAction设置为MoveAction,但我甚至不确定这两个都是我需要调整的。在

提前谢谢!在


Tags: 项目方法排序模式情况孩子qt物品
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:25

您可以向控制拖放行为的各个树小部件项添加标志(除其他外)。例如,要防止项目成为放置目标,请尝试以下操作:

item = QTreeWidgetItem(parent)
item.setFlags(items.flags() & ~Qt.ItemIsDropEnabled)

有关详细信息,请参阅qt文档:http://doc.qt.nokia.com/4.7/qt.html#ItemFlag-enum

相关问题 更多 >

    热门问题