<div dir="ltr">To be clear, our app has a backend Qt thread. </div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><font size="2" style="font-size:small">Oliver</font><div style="font-size:small"><font size="1">Open Source contributions: <a href="http://pubsub.sf.net/" style="color:rgb(17,85,204)" target="_blank">PyPubSub</a>,</font><span style="font-size:x-small"> </span><a href="https://github.com/schollii/nose2pytest" style="color:rgb(17,85,204);font-size:x-small" target="_blank">nose2pytest</a><span style="font-size:x-small">,</span><span style="font-size:x-small"> L</span><a href="http://lua-icxx.sf.net/" style="font-size:x-small;color:rgb(17,85,204)" target="_blank">ua-iCxx</a><span style="font-size:x-small">, </span><a href="http://iof.sf.net/" style="font-size:x-small;color:rgb(17,85,204)" target="_blank">iof</a></div><div style="font-size:small"><font size="1"><a href="http://stackoverflow.com/users/869951/schollii" style="color:rgb(17,85,204)" target="_blank">StackOverflow</a> contributions</font></div></div><div><font size="1"><br></font></div><div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Thu, Aug 25, 2016 at 12:00 PM, oliver <span dir="ltr"><<a href="mailto:oliver.schoenborn@gmail.com" target="_blank">oliver.schoenborn@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 25, 2016 at 11:25 AM, Phil Thompson <span dir="ltr"><<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>On 25 Aug 2016, at 2:24 pm, oliver <<a href="mailto:oliver.schoenborn@gmail.com" target="_blank">oliver.schoenborn@gmail.com</a>> wrote:<br>
><br>
><br>
><br>
> On Thu, Aug 25, 2016 at 8:40 AM, Phil Thompson <<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>> wrote:<br>
><br>
> Inspect the QMetaObject to see if the slot is there as you would expect.<br>
><br>
> ><br>
> > If the slot weren't in the QMetaObject, how would the object method<br>
> > get called (it does get called)?<br>
><br>
> The same way any other type of callable is handled, by creating a proxy QObject when the connection is made.<br>
><br>
><br>
> The slot will surely be in the wrapper's proxy QObject.QMetaObject<br>
<br>
</span>No it won't, that's not how the proxy works.<br>
<span><br>
> but what's the concern with that? As long as the connection is established from the correct thread, the proxy QObject will be owned by the correct thread so the proxy slot will be called in the correct thread, and this in turn will call the slot_wrapper which will call our QObject's method. Should all be good, no?<br>
<br>
</span>But why bother with pyqtSlot at all if you don't care about it being in the QMetaObject?<br>
<span><font color="#888888"><br>
Phil</font></span></blockquote></div><br></div></div></div>I got the impression from somewhere on the web that cross-thread signaling is safer in Python if you use pyqtSlot decorator, may that's a couple years ago so maybe I'm remembering wrong. The real reason is probably that the docs on Riverbank say "Connecting a signal to a decorated Python method also has the advantage of reducing the amount of memory used and is slightly faster.". <div><br></div><div>Can you provide some details about when using pyqtSlot is really beneficial? Are you implying that I should be able to remove all uses of pyqtSlot (as decorator or, like I showed in example above, as wrapper) from our code and the code should run identically, except for extra memory and slower speed (likely not noticeably slower because we don't have a thread that emits huge numbers of signals)? </div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Oliver</div></font></span></div>
</blockquote></div><br></div>