more enum breakage
Phil Thompson
phil at riverbankcomputing.com
Wed Jun 22 10:50:07 BST 2022
I don’t see how it can be argued that it is not a Qt bug if the same
code behaves differently with different Qt versions.
Phil
On 22/06/2022 10:19, Kovid Goyal wrote:
> And according to Qt this is a bug in PySide not Qt. They are fixing it
> by adding extra code to the data() method of models to manually convert
> enums to int before returning them to C++.
> https://bugreports.qt.io/browse/PYSIDE-1974
> Which is pretty inadequate since they seem to have forgotten there are
> other
> such methods, like headerData().
>
> Seems to me that you will need to implement a fix in PyQt.
> I can of course work around this issue in my own code quite easily, if
> painstakingly by manually casting to int, but it would be nice to have
> to.
>
>
> On Sun, Jun 19, 2022 at 09:32:31AM +0530, Kovid Goyal wrote:
>> >From the gift that keeps on giving department:
>>
>> Returning Qt.ItemDataRole.TextAlignmentRole from the data() method of
>> models does not work in PyQt6, one has to return an integer not an
>> enum
>> for it to work. So, for example:
>>
>> return Qt.AlignmentFlag.AlignHCenter |
>> Qt.AlignmentFlag.AlignVCenter
>>
>> results in text rendered by Qt at top left corner, but
>>
>> return (Qt.AlignmentFlag.AlignHCenter |
>> Qt.AlignmentFlag.AlignVCenter).value
>>
>> works as expected.
>> --
>> _____________________________________
>>
>> Dr. Kovid Goyal
>> https://www.kovidgoyal.net
>> https://calibre-ebook.com
>> _____________________________________
More information about the PyQt
mailing list