QT绘图中屏幕坐标转换为数学笛卡尔坐标

本文详细介绍了在QT中如何将计算机屏幕坐标从左上角原点调整至左下角原点的过程,通过一个简单的函数实现坐标系转换,使得图形绘制更加直观。此方法对于在QT环境下进行图形界面开发的工程师尤其有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机屏幕坐标是左上角为(0,0),X轴向右,Y轴向下。在绘制图形的时候,很多图形对象存储的坐标是数学上笛卡尔坐标,这个时候需要转换,QT做转换我开始迷茫,后面终于明白了,只要一个函数就搞定了。下面函数就是把屏幕坐标做下角定为(0,0),X轴向右,Y轴向上。此函数后面绘制坐标,就按这个坐标系统来绘制就没有问题了。

void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    QPen pen;
    painter.begin(this);
    pen.setColor(Qt::black);
    pen.setStyle(Qt::SolidLine);
    pen.setWidthF(2);
    painter.setPen(pen);
    painter.setWindow(0, height(),  width(), -1 * height());//设置屏幕左下角(0,Height)为原点(0,0)
    painter.drawLine(QPointF(0, 0), QPointF(width()/2, height()/2));
    painter.end();

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值