[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] =?utf-8?q?SIP=5FANYSLOT_vs_SIP=5FSLOT_vs_SIP=5FSLOT=5FCON?=
From:       Phil Thompson <phil () riverbankcomputing ! com>
Date:       2013-09-10 16:55:04
Message-ID: 81ee106398e3ade87b986fc846b04c92 () localhost
[Download RAW message or body]

On Tue, 10 Sep 2013 16:17:25 +0200, Sébastien Sablé
<sable@users.sourceforge.net> wrote:
> [sorry previous email was sent before I finished it]
> 
> Hi,
> 
> I want to bind with sip a connect method which can be used with a slot
for
> which the signature will change from one call to the other.

That doesn't sound like a great design...

> The class looks a bit like that:
> 
> class Foo
> {
> Q_OBJECT
> public:
>     void connect(const int eventType, QObject *receiver, const char
> *member);
> }
> 
> I have seen quite a few example in the doc or in PyQt using
SIP_RXOBJ_CON
> and SIP_SLOT_CON.
> However it seems SIP_SLOT_CON can only be used when you know the
signature
> of your signal in advance.

Correct.

> The documentation mentions also SIP_SLOT and SIP_ANYSLOT but is very
light
> on the details.
> SIP_ANYSLOT requires to write some custom code to handle conversion as
can
> be seen in the code for QShortcut.
> I could not find any example for SIP_SLOT anywhere.
> 
> What is the difference between SIP_ANYSLOT and SIP_SLOT? Which one
should I
> use? And can you provide an example when using SIP_SLOT?

SIP_SLOT just checks that the argument has been created by QtCore.SLOT(),
ie. that it is a string that begins with the magic character. Plenty of
examples in PyQt4.

SIP_ANYSLOT checks that the argument has been created by QtCore.SLOT() (in
which case it is placed in a variable called a?Name, where ? is the number
of the argument) or it is a callable (in which case it is placed in a
variable called a?Callable).

Phil
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic