QVariant::isNull returns true when value exists but is 0. I thought this was when it was not correctly set. Hmm.