ах вот в чем дело! в моем коде VERTICAL и HORIZONTAL - мои собственные идентификаторы, а не qt, и семантика у них моя, поэтому и if такой

так что мы оба правы

но все равно размеры возвращаются неверно, дело не в суммировании. но я кажется нашел решение: чтобы положиться на объект и получить его корректный размер на экране с учетом текущего состояния, можно воспользоваться функцией sizeHint - для таких элементов как радиокнопка или метка она возвращает минимальный размер, вмещающий весь объект. в общем, когда текст установлен, делаю resize(sizeHint())