Code: Alles auswählen
QTransForm tf;
tf.translate(-650, 0);
tf.scale((750-650)/200);
Diese Matrix kann man auch direkt den QPainter geben. Da muss man dann aber aufpassen da dann auch alle Werte geändert werden - z.B. Linienbreite usw. Deshalb ist es besser alles durch eine der QTransform::map() - Routinen zu jagen.
Aber das ganze mit Kommazahlen hat imho nicht viel sinn - man sieht nicht ob der Viewport jetzt bei 650.0 oder 650.1 anfängt - da bleibt eben 0.1 'leer', aber es sieht ja keiner...