It is a simple geometry problem, not a PyQGIS problem.
If the unit of the projection system is meter, according to the Euclidean distance formula, the distance between two points in the plane is given by:
def euclidean_distance(point1,point2):
return math.sqrt((point2.x()-point1.x())**2 + (point2.y()-point1.y())**2)
pt1 = QgsPoint(50,50)
pt2 = QgsPoint(150,150)
print euclidean_distance(pt1,pt2)
141.42135623730951
Using sqrDist, the square distance between the two points:
def qgisdist(point1,point2):
return math.sqrt(point1.sqrDist(point2))
print qgisdist(pt1,pt2)
141.42135623730951
So the result is the Euclidean Distance and, if the unit is not meter, you cannot use sqrDist.
You need to use other distances as the Haversine formula (look at QGIS - How to calculate distances in a point sequence?)
The solution of Nathan W is to change the projection with PyQGIS2.