如何将QPoint类型转换为QPointF类型?
QPoint 转 QPointF 的两种简单方法
嘿,这事儿其实挺简单的!Qt 里把 QPoint 转换成 QPointF 的方式和反向操作一样直接,甚至更省心(毕竟不用处理小数截断的问题)。
两种转换方式
假设你已经有一个 QPoint 对象,比如:
from PyQt5 import QtCore # 定义一个QPoint实例 my_qpoint = QtCore.QPoint(100, 144)
方法1:调用 QPoint 的内置方法 toPointF()
这是最直观的方式,QPoint 类本身就提供了转成 QPointF 的成员函数:
# 转换为QPointF my_qpointf = my_qpoint.toPointF()
方法2:直接用 QPointF 的构造函数传入 QPoint
QPointF 的构造函数支持直接接收 QPoint 对象作为参数,效果和上面的方法完全一致:
# 用QPointF构造函数转换 my_qpointf = QtCore.QPointF(my_qpoint)
补充说明
- 转换后,
QPoint的整数坐标会自动变成QPointF的浮点型坐标(比如上面的(100,144)会变成(100.0, 144.0))。 - 对比你提到的反向操作(
QPointF转QPoint),这种转换不需要担心小数截断的问题,因为是从整数转浮点,精度完全保留。
内容的提问来源于stack exchange,提问作者余昌翰
相关产品推荐
相关产品推荐

