2012-10-13 101 views
0

如何移動QListWidgetItem的另一行?我可以使用拖放方法嗎?
例子: QListWiget項目:Python Qt QListWidget項目拖放

item1 
item2 
item3 
item4 

項目3拖放。後:

item3 
item1 
item2 
item4 

我看着這個resource但我什麼都不明白。

回答

2

如果您只需要內部拖動&,則不需要dropMimeData。這用於從小部件中刪除的東西。項目視圖(及其窗口小部件伴隨)帶有內部拖放操作。您需要使用InternalMove作爲setDragDropMove

簡單的例子:

import sys 
from PyQt4 import QtGui 

app = QtGui.QApplication(sys.argv) 

lw = QtGui.QListWidget() 
lw.setDragDropMode(lw.InternalMove) 
for i in range(10): 
    item = QtGui.QListWidgetItem('item %d' % i, lw) 
lw.show() 

sys.exit(app.exec_()) 
+0

的Qt真的應該在所有的拖拽一個大膽的部分/放東西,如果你想簡單地圍繞一個窗口中移動的東西,這是不一樣的調用有時是複雜拖放機制(使用MIME數據類型)用於在元素之間混洗數據。 「拖放」這個術語比這個更普遍,許多人對此感到困惑。我知道我做到了。 – neuronet