天天看點

QT中的坐标和角度

QT中的坐标和角度

QT中的坐标系統以左上角為原點(0,0),x軸向右,y軸向下,和平時的坐标系不同。

是以,需要做一個變換,首先需要擷取目前視窗的尺寸,然後做減法得到視窗y坐标和現實y坐标的映射關系。

//坐标轉換,Y坐标和現實中不一樣
QPoint Pic::tranPosi(QPoint p)
{
    //擷取視窗尺寸
    QPoint rp;
    rp.setX(p.x());
    rp.setY(geometry().height()-p.y());
    return rp;
}
           

另外,QT中的三角函數計算使用的都是弧度,較為不友善,建議内部運作就使用弧度,若界面輸入是以度為機關,那麼在自己寫的接口函數那裡統一做一個轉換

比如你看下面這個:

就很麻煩,這個需要一個頭檔案,叫做

c++

繼續閱讀