A naive try would be to map the smallest unit (a font point in your case probably) to 1, then calculate how many points are there to fit into the other unit and then find the least multiplicator causing both values to be integer and rescale everything by that factor.

For instance if you had units where one is 2.5 times the other then after using the factor of 2 both values will become integer. This factor tells you how many units make a single initial unit. In other words you have to take the unit two times smaller than you initially tried. Note that using integers here is only because you (human) can calculate in integers much easier than with real values. QGraphicsView doesn't care - you can calculate everything in pts, it will adjust.