[PyQt] Attribute type change problem while using Qt 5.12 / PyQt 5.12.1 and wildcard imports
Phil Thompson
phil at riverbankcomputing.com
Thu May 2 14:57:25 BST 2019
On 01/05/2019 13:02, Ümit Öztosun wrote:
>> On 1 May 2019, at 13:19, Phil Thompson <phil at riverbankcomputing.com>
>> wrote:
>>
>> On 01/05/2019 10:55, Ümit Öztosun wrote:
>>> Hello,
>>> I have encountered a weird problem using PyQt 5.12.1 and Qt 5.12.
>>> Take
>>> the following script:
>>> from PyQt5.QtCore import *
>>> class A(QObject):
>>> flag = True
>>> a = A()
>>> print a.flag
>>> This outputs QCborSimpleType.True. Boolean attribute somehow
>>> converted to
>>> a QCborSimpleType. However, just changing the wildcard import
>>> corrects
>>> output:
>>> from PyQt5.QtCore import QObject
>>> class A(QObject):
>>> flag = True
>>> a = A()
>>> print a.flag
>>> Output is True this time.
>>> I have tried various configurations, here are the wildcard import
>>> test
>>> outputs: (Qt/Sip/PyQt all are compiled from source)
>>> Ubuntu 18.04 / Qt-5.12.3 / sip-4.19.16 / PyQt5_gpl-5.12.1
>>> => QCborSimpleType.True
>>> Ubuntu 18.04 / Qt-5.12.3 / sip-4.19.16 /
>>> PyQt5_gpl-5.12.2.dev1904191828
>>> => QCborSimpleType.True
>>> MacOS 10.14.4 / Qt-5.12.3 / sip-4.19.16 / PyQt5_gpl-5.12.1
>>> => QCborSimpleType.True
>>> Ubuntu 18.04 / Qt-5.11.3 / sip-4.19.16 / PyQt5_gpl-5.12.1
>>> => True
>>> Problem only occurs while using Qt-5.12. Using Qt-5.11 brings things
>>> to
>>> normal. AFAIK CBOR support was added in Qt 5.12 and this may be
>>> related:
>>> https://doc.qt.io/qt-5/whatsnew512.html
>>> Any ideas?
>>
>> Works fine for me (although I haven't tried it with Python v2). Weird
>> things like this are usually build problems, mis-matched versions, old
>> things lying around.
>>
>> Phil
>
> Hi Phil,
>
> I have missed the important part; yes this was on Python 2.7. I have
> spun up a new Ubuntu 18.04 VM for the tests, just to make sure build
> is clean. I have build Sip-4.19.16 and PyQt5_gpl5.12.1 using Qt-5.12.3
> for Python v3 after your response, and this build does not have the
> mentioned problem. But Python v2 has it. Python versions used are
> Python 2.7.15rc1 and Python 3.6.7.
Should be fixed in tonight's SIP snapshot.
Thanks,
Phil
More information about the PyQt
mailing list