When calling the QSGGeometry().indexDataAsUShort() or .indexDataAsUInt() a single int is returned, but it should return a list (or some kind of array) of int's. This makes it impossible to use the index-system properly.
geometry = QSGGeometry(…)
…
idc = geometry.indexDataAsUInt() # -> List[int]
print(type(idc))
<class 'int'>
uint *QSGGeometry::indexDataAsUInt()
apparently of size
int QSGGeometry::indexCount() const