Hadn't realised QTEXT results in a qoschar string which is UTF-16, not UTF-32 so made qstring work with UTF-8 (char), UTF-16 (qoschar) and UTF-32 (qchar). On non-unicode everything is qchar.