import sys
from PySide6.QtCore import QLibraryInfo
from PySide6 import QtWidgets

# inheriting from MixIn is required to make it segfault
# overriding itemChange is required to make it segfault


class MixIn:
    pass


class Group(MixIn, QtWidgets.QGraphicsObject):
    def itemChange(self, change, value):
        return super().itemChange(change, value)


class Item(MixIn, QtWidgets.QGraphicsObject):
    pass


if __name__ == '__main__':
    print('Python {}.{}.{}'.format(sys.version_info[0], sys.version_info[1],
                                   sys.version_info[2]))
    print(QLibraryInfo.build(), '\n')
    group = Group(None)
    item = Item()
    item.setParentItem(group)

    print(len(group.childItems()))
