2

我有一个 QTreeWidget ,其中包含我认为所有正确设置的设置,以便能够通过拖动项目来重新排序项目。它有时可以工作,但通常我将一个项目拖到另一个项目中,它要么消失,要么变成一个孩子。

有没有办法防止这种情况发生,这样您就不会丢失要重新订购的物品?我想你可以在 Qt Designer 中实现这一点。我将dragDrop模式设置为InternalMove 并将defaultDropAction设置为MoveAction,但我什至不确定这两个是否是我需要调整的。

提前致谢!

4

1 回答 1

3

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

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

有关更多详细信息,请参阅:Qt.ItemFlags

于 2011-10-08T00:31:31.957 回答