[PyQt] Slot connections fail with newest snapshot

Phil Thompson phil at riverbankcomputing.com
Thu Jul 21 15:27:13 BST 2016


On 21 Jul 2016, at 3:05 pm, Florian Bruhin <me at the-compiler.org> wrote:
> 
> * Phil Thompson <phil at riverbankcomputing.com> [2016-07-21 15:03:21 +0100]:
>> On 21 Jul 2016, at 1:51 pm, Florian Bruhin <me at the-compiler.org> wrote:
>>> 
>>> * Phil Thompson <phil at riverbankcomputing.com> [2016-07-17 12:57:24 +0100]:
>>>>>> The current behaviour is different, but what are you expecting to
>>>>>> happen (given your class does not inherit from QObject)?
>>>>> 
>>>>> Oh, @pyqtSlot only works on classes inheriting from QObject? While
>>>>> that makes some sense, that's news for me!
>>>>> 
>>>>> I think either it should just be ignored (like before?), or show some
>>>>> useful error message like "pyqtSlot can only be used on classes
>>>>> inheriting from QObject" or so. I also think this should be pointed
>>>>> out in the docs for @pyqtSlot - while the examples do inherit from
>>>>> QObject, it's not explicitly documented anywhere I think.
>>>> 
>>>> You can use it in classes that are used as mixins with QObject derived classes.
>>> 
>>> Hmm, I see.
>>> 
>>> So for normal classes which are not QObject subclasses, @pyqtSlot was
>>> simply ignored so far?
>> 
>> Yes.
>> 
>>> What about using @pyqtSlot on free functions (rather than methods)?
>>> It seems that still works fine with the current snapshot - is that
>>> ignored as well?
>> 
>> Yes.
> 
> Will this stay that way, or will there be a warning/error added for
> that as well?

The only error is when you try and make an invalid connection. PyQt can't tell now a decorated function or method is going to be used so it shouldn't assume somebody hasn't found a valid use case.

Phil


More information about the PyQt mailing list