from ipts_items.data import ProposalInfo import pickle def readLongString(array): N = array.getData().size() bytes = bytearray() for i in range(N): b = array.getData().getByte(i) if b == 0: break bytes.append(b) return bytes.decode('utf_8') pickled = readLongString(pvs[0].getValue()) proposals = pickle.loads(pickled) data = [] for prop in proposals: data.append([ str(prop.proposal_id), prop.title.decode('utf-8'), prop.startdate, prop.members.decode('utf-8') ]) widget.getTable().setContent(data)