[PyQt] Re: QStyle manipulations

Phil Thompson phil at riverbankcomputing.com
Mon Jul 27 17:44:43 BST 2009


On Mon, 27 Jul 2009 18:40:18 +0200, "Hans-Peter Jansen" <hpj at urpla.net>
wrote:
> Am Montag, 27. Juli 2009 schrieb Hans-Peter Jansen:
>> Am Montag, 27. Juli 2009 schrieb Hans-Peter Jansen:
>> >
>> > Next you find a test script simply intercepting this slot, but while
>> > the constructor of PlastiqueStyle is being called correctly, the slot
>> > is not :-(.
>> >
> 
> For what is worth, here's an updated version of the test script, that 
> depends on the former q*style.sip files included in your PyQt
installation.
> I've still no idea, why the layoutSpacingImplementation() slot is not 
> called, but this script proves, that both PM_LayoutHorizontalSpacing and 
> PM_LayoutVerticalSpacing do return -1, which is prerequisite for Qt to
call
> 
> this slot. 
> 
> My theory is, that this paragraph is the culprit:
> 
> About QStyle::layoutSpacing():
> For binary compatibility reasons, this function is not virtual. If you
want
> 
> to specify custom layout spacings in a QStyle subclass, implement a slot 
> called layoutSpacingImplementation(). QStyle will discover the slot at 
> run-time (using Qt's meta-object system) and direct all calls to 
> layoutSpacing() to layoutSpacingImplementation().
> 
> Phil, could it be, that Qt isn't able to discover the slot being
available 
> as a pyqt slot? 

Almost certainly.

Phil


More information about the PyQt mailing list