you could try something like this to possibly identify the type:
def test(*args, **kwargs):
for arg in args:
print(arg, type(arg))
for key, val in kwargs.items():
print(key, type(value))
abstract_item_model.dataChanged.connect(test)
And then do something to trigger the signal, and watch the output to check the values and types.
Thanks. I just took the time to isolate it (should have done that before posting), and it turns out it was totally my fault. The list of roles works… it was a porting issue that for some reason raised this specific exception.
The exception was during the dataChanged signal, but was related to an assigned delegate that was broken (still calling QtGui rather than PySide2’s QtWidgets).