2014-09-04 82 views
0

從QListView中拖動項目/圖標時是否可以禁用拖動像素圖。在QListView中禁用拖動圖像

我的應用程序將它拖動到視圖上方時執行自定義渲染。但是,由於我已將應用程序移植到Qt5,所以在拖動操作期間,列表視圖的拖動項似乎總是顯示裝飾角色。我想禁用這個,因爲我的自定義渲染更準確。

回答

0

我不知道如果我完全理解你想要什麼,但如果要禁用拖動像素圖,你可以只設置在的startDrag方法即

drag = QtGui.QDrag(self) 
# Create empty mimedata just to initilize the Qdrag. 
mimeData = QtCore.QMimeData() 
mimeData.setData("text/plain", "") 
drag.setMimeData(mimeData) 

pixmap = QtGui.QPixmap() 
# Empty pixmap. No drag icon 
drag.setPixmap(pixmap) 
... 
drag.exec_(QtCore.Qt.MoveAction) 
+0

由於空像素圖。這實際上是手動啓動拖動操作時如何設置的。但是,在使用列表視圖時,它將默認處理啓動拖動操作(在QIconModeViewBase :: filterStartDrag中)。在那裏它似乎總是設置像素圖。有沒有辦法改變這個列表視圖行爲? – Fabian 2014-09-08 13:48:34