<div dir="ltr">"<span style="font-family:arial,sans-serif;font-size:13px">I don't anticipate there being many more PyQt4 releases"</span><div><span style="font-family:arial,sans-serif;font-size:13px">-- famous last words... :)</span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Bryan</span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Mon, Feb 17, 2014 at 2:52 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

On 16-02-2014 10:56 pm, Baz Walter wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 16/02/14 13:27, Phil Thompson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 13-02-2014 6:54 pm, Martin Teichmann wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Baz, Hi Phil, Hi List,<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This actually only relates to multiple-inheritance. It should never<br>
be problem for true mixin classes.<br>
</blockquote>
<br>
There youre certainly right. Its calling super() where I have my<br>
issues. Your examples did not call super(), so the MRO doesnt<br>
matter.<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The one genuine issue with mixins in PyQt, is that you cannot<br>
inherit custom signals.<br>
</blockquote>
<br>
Then it might be interesting for you that with my patch applied, it<br>
does work. For example:<br>
<br>
<br>
<br>
------------------------------<u></u>------------------------------<u></u>-----------<br>
from PyQt4.QtGui import QWidget, QLabel, QApplication<br>
 from PyQt4.QtCore import pyqtSignal, QObject<br>
<br>
class A(QObject):<br>
    a = pyqtSignal(str)<br>
<br>
class B(A, QLabel):<br>
    b = pyqtSignal(str)<br>
<br>
class Printer(QObject):<br>
    def print(self, a):<br>
        print(a)<br>
<br>
app = QApplication([])<br>
<br>
b = B()<br>
p = Printer()<br>
b.a.connect(p.print)<br>
b.b.connect(p.print)<br>
b.a.emit(a)<br>
b.b.emit(b)<br>
b.setText(foo)<br>
<br>
<br>
------------------------------<u></u>------------------------------<u></u>----------<br>
<br>
correctly works with my patch applied. It does not if you let A<br>
inherit from object.<br>
</blockquote>
<br>
At the moment (having just started to think about it again) I'm against<br>
your original patch as it is too different to the C++ behaviour.<br>
<br>
However I do like your other patch which raised an exception when<br>
inheriting from more than one C++ class.<br>
</blockquote>
<br>
On the face of it, this seems like an entirely good thing to do.<br>
<br>
However, I suppose it's only fair to point out that this will<br>
probably break code for at least some people, if this blog post is<br>
anything to go by:<br>
<br>
    <a href="http://trevorius.com/scrapbook/python/pyqt-multiple-inheritance/" target="_blank">http://trevorius.com/<u></u>scrapbook/python/pyqt-<u></u>multiple-inheritance/</a><br>
<br>
Of course, you could say that they got what they deserved for trying<br>
to do something in PyQt that just wouldn't be allowed in Qt itself.<br>
But whatever the rights and wrongs, there are going to be a few people<br>
who might hope that this patch is only applied if the issue with<br>
custom signals can be resolved first.<br>
</blockquote>
<br>
That rules it out for PyQt4 - I don't anticipate there being many more PyQt4 releases and I'm not going to introduce potential breakages at this stage.<br>
<br>
Phil<br>
______________________________<u></u>_________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" target="_blank">PyQt@riverbankcomputing.com</a><br>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.<u></u>com/mailman/listinfo/pyqt</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Bryan A. Jones, Ph.D.<br>Associate Professor<br>Department of Electrical and Computer Engineering<br>231 Simrall / PO Box 9571<br>Mississippi State University<br>

Mississippi state, MS 39762<br><a href="http://www.ece.msstate.edu/~bjones" target="_blank">http://www.ece.msstate.edu/~bjones</a><br>bjones AT ece DOT msstate DOT edu<br>voice 662-325-3149<br>fax 662-325-2298<br><br>Our Master, Jesus Christ, is on his way. He'll show up right on<br>

time, his arrival guaranteed by the Blessed and Undisputed Ruler,<br>High King, High God.<br>- 1 Tim. 6:14b-15 (The Message)<br>
</div>