Возника проблема с масштабированием. Из книги Бланшетт взял пример масштабирование при прокрутки колесика мыши
void QEditorView::wheelEvent(QWheelEvent *event)
{
qreal numDegrees = event->delta()/8.0;
qreal numSteps = numDegrees/15.0;
qreal factor = qPow(1.5,numSteps);
if(factor>=.4 && factor<=2)
{
scale(factor,factor);
}
event->accept();
}
Все работает, но одна беда, после того как сделать масштабирование в большую, меньшую сторону - точность указателя мыши в координатах сцены начинает плавать, и она уже перемещается не с точностью до пиксела, а +- погрешность (0.3 или 1.5 к примеру пиксела).
Проблема видна после того, когда при увеличенном масштабе создаю, двигаю и изменяю объекты, при возвращении в исходный масштаб они выглядят кривовато.
На картинке это четко видно.
Сглаживание помогает, но на некоторых картах оно не работает, поэтому нужно что бы не было этих погрешностей. Как этого добиться?