<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Anybody?<br>
    Been trying to play with the view's dragMoveEvent to take over the
    default drag event's mime data and create a custom QDrag instance
    with it, but that crashes. I also tried just adding test to the
    event's mime data, but that  has no effect.<br>
    Maybe I do need to just re-implement the drag from scratch?<br>
    <br>
    It feels like there should be a more elegant solution, right?!<br>
    <br>
    Cheers,<br>
    frank<br>
    <br>
    <div class="moz-cite-prefix">On 30/07/18 3:24 PM, Frank Rueter |
      OHUfx wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:cb5fea55-7cc5-11d6-de7d-2afbd46eef12@ohufx.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <div class="markdown-here-wrapper" data-md-url="Thunderbird"
        style="" markdown-here-wrapper-content-modified="true">
        <p style="margin: 0px 0px 1.2em ! important;">Hi all,</p>
        <p style="margin: 0px 0px 1.2em ! important;">I have an app that
          uses two QListViews with delegates.<br>
          The user can drag ad drop items from one view into the other
          to create something like a shopping list.<br>
          So far so good.<br>
          Now I need to enable the user to also drag an item out of the
          application entirely.<br>
          Is it possible to access the drag event data that the list
          view produces by default, so I don’t have to re-invent the
          wheel for the already functioning internal drag&drop?</p>
        <p style="margin: 0px 0px 1.2em ! important;">Here is a
          simplified example that just needs support for dragging an
          item outside of the QApplication.</p>
        <p style="margin: 0px 0px 1.2em ! important;">Any tips would be
          much appreciated.<br>
        </p>
        <p style="margin: 0px 0px 1.2em ! important;">Cheers,<br>
          frank<br>
        </p>
        <pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code class="hljs language-python" style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;display: block; overflow-x: auto; padding: 0.5em; background: rgb(63, 63, 63) none repeat scroll 0% 0%; color: rgb(220, 220, 220); -moz-text-size-adjust: none;"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">import</span> sys
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">from</span> PySide <span class="hljs-keyword" style="color: rgb(227, 206, 171);">import</span> QtGui, QtCore

app = QtGui.QApplication(sys.argv)

<span class="hljs-class"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">class</span> <span class="hljs-title" style="color: rgb(239, 239, 143);">MyList</span><span class="hljs-params">(QtGui.QListView)</span>:</span>
    <span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">def</span> <span class="hljs-title" style="color: rgb(239, 239, 143);">__init__</span><span class="hljs-params">(self, parent=None)</span>:</span>
        super(MyList, self).__init__(parent)
        self.setDragEnabled(<span class="hljs-keyword" style="color: rgb(227, 206, 171);">True</span>)
        self.setAcceptDrops(<span class="hljs-keyword" style="color: rgb(227, 206, 171);">True</span>)

list1 = MyList()
list2 = MyList()
model1 = QtGui.QStandardItemModel(list1)
model2 = QtGui.QStandardItemModel(list1)
model2.setItemPrototype(QtGui.QStandardItem())

foods = [
    <span class="hljs-string" style="color: rgb(204, 147, 147);">'Cookie dough'</span>,
    <span class="hljs-string" style="color: rgb(204, 147, 147);">'Hummus'</span>,
    <span class="hljs-string" style="color: rgb(204, 147, 147);">'Spaghetti'</span>,
    <span class="hljs-string" style="color: rgb(204, 147, 147);">'Dal makhani'</span>,
    <span class="hljs-string" style="color: rgb(204, 147, 147);">'Chocolate whipped cream'</span>
]

<span class="hljs-keyword" style="color: rgb(227, 206, 171);">for</span> food <span class="hljs-keyword" style="color: rgb(227, 206, 171);">in</span> foods:
    item = QtGui.QStandardItem(food)
    model1.appendRow(item)

list1.setModel(model1)
list2.setModel(model2)

w = QtGui.QSplitter()
w.addWidget(list1)
w.addWidget(list2)
w.show()
w.raise_()
app.exec_()
</code></pre>
        <div
title="MDH:SGkgYWxsLDxicj48YnI+SSBoYXZlIGFuIGFwcCB0aGF0IHVzZXMgdHdvIFFMaXN0Vmlld3Mgd2l0aCBkZWxlZ2F0ZXMuPGJyPlRoZSB1c2VyIGNhbiBkcmFnIGFkIGRyb3AgaXRlbXMgZnJvbSBvbmUgdmlldyBpbnRvIHRoZSBvdGhlciB0byBjcmVhdGUgc29tZXRoaW5nIGxpa2UgYSBzaG9wcGluZyBsaXN0Ljxicj5TbyBmYXIgc28gZ29vZC48YnI+Tm93IEkgbmVlZCB0byBlbmFibGUgdGhlIHVzZXIg
dG8gYWxzbyBkcmFnIGFuIGl0ZW0gb3V0IG9mIHRoZSBhcHBsaWNhdGlvbiBlbnRpcmVseS48YnI+
SXMgaXQgcG9zc2libGUgdG8gYWNjZXNzIHRoZSBleGlzdGluZy9kZWZhdWx0IGRyYWcgZXZlbnQg
ZGF0YSB0aGF0IHRoZSBsaXN0IHZpZXcgcHJvZHVjZXMsIHNvIEkgZG9uJ3QgaGF2ZSB0byByZS1p
bnZlbnQgdGhlIHdoZWVsIGZvciB0aGUgaW50ZXJuYWwgZHJhZyZhbXA7ZHJvcD88YnI+PGJyPkhl
cmUgaXMgYSBzaW1wbGlmaWVkIGV4YW1wbGU6PGJyPmBgYHB5dGhvbjxicj5pbXBvcnQgc3lzPGJy
PmZyb20gUHlTaWRlIGltcG9ydCBRdEd1aSwgUXRDb3JlPGJyPjxicj48YnI+YXBwID0gUXRHdWku
UUFwcGxpY2F0aW9uKHN5cy5hcmd2KTxicj48YnI+Y2xhc3MgTXlMaXN0KFF0R3VpLlFMaXN0Vmll
dyk6PGJyPsKgwqDCoCBkZWYgX19pbml0X18oc2VsZiwgcGFyZW50PU5vbmUpOjxicj7CoMKgwqDC
oMKgwqDCoCBzdXBlcihNeUxpc3QsIHNlbGYpLl9faW5pdF9fKHBhcmVudCk8YnI+wqDCoMKgwqDC
oMKgwqAgc2VsZi5zZXREcmFnRW5hYmxlZChUcnVlKTxicj7CoMKgwqDCoMKgwqDCoCBzZWxmLnNl
dEFjY2VwdERyb3BzKFRydWUpPGJyPjxicj5saXN0MSA9IE15TGlzdCgpPGJyPmxpc3QyID0gTXlM
aXN0KCk8YnI+bW9kZWwxID0gUXRHdWkuUVN0YW5kYXJkSXRlbU1vZGVsKGxpc3QxKTxicj5tb2Rl
bDIgPSBRdEd1aS5RU3RhbmRhcmRJdGVtTW9kZWwobGlzdDEpPGJyPm1vZGVsMi5zZXRJdGVtUHJv
dG90eXBlKFF0R3VpLlFTdGFuZGFyZEl0ZW0oKSk8YnI+PGJyPjxicj5mb29kcyA9IFs8YnI+wqDC
oMKgICdDb29raWUgZG91Z2gnLDxicj7CoMKgwqAgJ0h1bW11cycsPGJyPsKgwqDCoCAnU3BhZ2hl
dHRpJyw8YnI+wqDCoMKgICdEYWwgbWFraGFuaScsPGJyPsKgwqDCoCAnQ2hvY29sYXRlIHdoaXBw
ZWQgY3JlYW0nPGJyPl08YnI+PGJyPmZvciBmb29kIGluIGZvb2RzOjxicj7CoMKgwqAgaXRlbSA9
IFF0R3VpLlFTdGFuZGFyZEl0ZW0oZm9vZCk8YnI+wqDCoMKgIG1vZGVsMS5hcHBlbmRSb3coaXRl
bSk8YnI+PGJyPmxpc3QxLnNldE1vZGVsKG1vZGVsMSk8YnI+bGlzdDIuc2V0TW9kZWwobW9kZWwy
KTxicj48YnI+dyA9IFF0R3VpLlFTcGxpdHRlcigpPGJyPncuYWRkV2lkZ2V0KGxpc3QxKTxicj53
LmFkZFdpZGdldChsaXN0Mik8YnI+dy5zaG93KCk8YnI+dy5yYWlzZV8oKTxicj5hcHAuZXhlY18o
          KTxicj5gYGA8YnI+PGJyPg=="
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;">​</div>
      </div>
      <div class="moz-signature markdown-here-signature">-- <br>
        <p> </p>
        <!-- A { text-decoration:none } -->
        <table style="width: 524px; height: 58px;" border="0">
          <tbody>
            <tr>
              <td style="text-align: right;"><a
                  href="http://www.ohufx.com" moz-do-not-send="true"><img
                    src="http://ohufx.com/images/ohufxLogo_50x50.png"
                    alt="ohufxLogo 50x50" moz-do-not-send="true"></a> </td>
              <td style="text-align: center;"> <br>
              </td>
              <td style="text-align: left;"><strong><span
                    style="font-size: 8pt;"><a
                      href="http://ohufx.com/compositing.html"
                      moz-do-not-send="true">vfx compositing</a></span>
                  | <span style="font-size: 8pt;"><strong><a
                        href="http://ohufx.com/customising.html"
                        moz-do-not-send="true">workflow customisation
                        and consulting</a></strong> </span> </strong>
              </td>
            </tr>
            <tr>
              <td style="text-align: right;"> </td>
              <td style="text-align: center;"> </td>
              <td style="text-align: left;"><strong><span
                    style="font-size: 8pt;"><a
                      href="http://ohufx.com/compositing.html"
                      moz-do-not-send="true"> </a></span></strong> <br>
              </td>
            </tr>
            <tr>
              <td style="text-align: right;"><a
                  href="http://www.nukepedia.com/nubridge"
                  moz-do-not-send="true"><img
                    src="http://nukepedia.com/images/nuBridge/logo/nuBridge_logo.png"
                    alt="" moz-do-not-send="true"> </a> </td>
              <td style="text-align: center;"> <br>
              </td>
              <td style="text-align: center;">
                <p style="text-align: left;"><a style="color: #999;
                    font-size: 10px; font-family: Arial, Helvetica,
                    sans-serif;"
                    href="http://www.nukepedia.com/nubridge"
                    moz-do-not-send="true">Your gateway to over 1,000
                    free tools... right inside of Nuke</a>
                  <style><!--A{text-decoration:none}--></style> </p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Interest mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Interest@qt-project.org">Interest@qt-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.qt-project.org/mailman/listinfo/interest">http://lists.qt-project.org/mailman/listinfo/interest</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>