[PyQt] TypeError: setLayoutDirection(self, Qt.LayoutDirection): argument 1 has unexpected type 'ProxyMetaclass'

Kyle Altendorf sda at fstab.net
Sun Aug 4 18:45:10 BST 2019


On 2019-08-04 13:14, Phil Thompson wrote:
> On 04/08/2019 03:04, Kyle Altendorf wrote:
>> While reworking my code to correct the errors related to my previous
>> message I ran into another exception loading .ui files.  This one
>> doesn't seem to be related to 3.7.4 specifically and I ran my test all
>> the way back to pyqt5.8 with the latest micro for each minor version
>> failing.
>> 
>> Code and output at:
>>     https://gist.github.com/altendky/151ddfdab48d566330a2ad8099229153
>> 
>> The traceback ends up at:
>>       File
>> "/home/altendky/tmp/venv3.7.4/lib/python3.7/site-packages/PyQt5/uic/properties.py",
>> line 417, in setProperties
>>         getattr(widget, 'set%s%s' % (ascii_upper(prop_name[0]),
>> prop_name[1:]))(prop_value)
>>     TypeError: setLayoutDirection(self, Qt.LayoutDirection): argument
>> 1 has unexpected type 'ProxyMetaclass'
> 
> Putting everything in the one script is probably causing problems, ie.
> the script that loads the UI also defines the custom widget which
> means the script is run twice (and maybe it would recurse if there was
> no exception).

This started with an error in my real many-file application.  I first 
recreated it in multiple files for the example then compacted down to 
one.  There was recursion because I forgot to add in `if __name__...` so 
I did.  Here is a copy of the example split back into two files.

https://gist.github.com/altendky/93657f6748a94f1b10316dd4884d65a7

Cheers,
-kyle


More information about the PyQt mailing list