Fair enough. My application is a window that displays one of several images for scientific image analysis. A combo box selects which image is displayed. It's a nice feature that you can "blink" back and forth between two images with adjacent entries in the combo box by hitting up/down while the box has keyboard focus. If the items were movable, the user could set up this blinking feature for any two images, even if they were not initially adjacent in the combo box. <div>
<br></div><div>However, even if I chose a more "traditional" drag+drop widget (say a QListView), the same thing happens (see code below). The problem seems to be that you can drop items both on top of existing rows or between rows. Dropping on top of rows deletes the dragged item. Is this the correct behavior? Is there a way to restrict drops on list views to be between items only?</div>
<div><br></div><div>Cheers,<br>Chris</div><div><br></div><div><div>from PyQt4.QtGui import (QApplication, QAbstractItemView,</div><div>                         QStandardItemModel, QListView, QStandardItem)</div><div><br></div>
<div>a = QApplication([''])</div><div><br></div><div>m = QStandardItemModel()</div><div>m.appendRow(QStandardItem('a'))</div><div>m.appendRow(QStandardItem('b'))</div><div>m.appendRow(QStandardItem('c'))</div>
<div>m.appendRow(QStandardItem('d'))</div><div><br></div><div>lv = QListView()</div><div>lv.setModel(m)</div><div>lv.setDragDropMode(QAbstractItemView.InternalMove)</div><div><br></div><div>lv.show()</div><div>lv.raise_()</div>
<div>a.exec_()</div></div><div><br></div><div><div><br></div><div><div><div class="gmail_quote">On Tue, Oct 30, 2012 at 2:29 PM, Andreas Pakulat <span dir="ltr"><<a href="mailto:apaku@gmx.de" target="_blank">apaku@gmx.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div class="im"><br>
On Tue, Oct 30, 2012 at 5:50 PM, Chris Beaumont <<a href="mailto:beaumont@hawaii.edu">beaumont@hawaii.edu</a>> wrote:<br>
> I'm having some trouble getting drag+drop to work properly within a<br>
> QComboBox widget. I've posted to SO:<br>
> <a href="http://stackoverflow.com/questions/13141143/pyqt4-items-disappear-when-using-drag-and-drop-with-qcombobox" target="_blank">http://stackoverflow.com/questions/13141143/pyqt4-items-disappear-when-using-drag-and-drop-with-qcombobox</a><br>

><br>
> I thought I'd try here as well. In short, I want to be able to rearrange<br>
> entries in a QComboBox with the mouse, but<br>
> the dragged items keep disappearing instead of moving. My code is pasted<br>
> below. Is there anything obviously wrong here?<br>
<br>
</div>Personally I'd say you're simply using the wrong widget. A combobox is<br>
for most people a small widget that allows to select an entry from a<br>
list by having a popup opened and closed automatically. In particular<br>
I wouldn't be surprised if dragging an item off the open popup would<br>
immediately close it on some platforms. Not to mention that such a<br>
behaviour in a combobox is surprising and not very discoverable for<br>
most users since its not something thats commonly used.<br>
<br>
So can you explain why you need the items to be re-arrangable inside a combobox?<br>
<span class="HOEnZb"><font color="#888888"><br>
Andreas<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>************************************<br>Chris Beaumont<br>Graduate Student<br>Institute for Astronomy<br>University of Hawaii at Manoa<br>2680 Woodlawn Drive<br>
Honolulu, HI 96822<br><a href="http://www.ifa.hawaii.edu/~beaumont">www.ifa.hawaii.edu/~beaumont</a><br>************************************<br>
</div></div></div>