может стоит обрамить в 
painter->save();
painter->restore();
вдруг этим painter кто-то ещё будет пользоваться?