我收到关于代码的以下警告:
QRect rct ( 0, 0, rect().width(), rect().height() );
warning: passing `qreal' for converting 3 of `QRect::QRect(int, int, int, int)'
warning: passing `qreal' for converting 4 of `QRect::QRect(int, int, int, int)'我在谷歌上搜索过,但没找到多少。如何避免这一警告?
谢谢你抽出时间。
发布于 2016-06-02 07:25:16
rect()似乎返回一个QRectF,您希望将它转换为QRect。你有两个选择:
QRectF::toRect (废弃十进制部分)QRectF::toAlignedRect (圆角)发布于 2022-06-22 15:12:32
我没有足够的声誉来评论,所以我将不得不核实LogicStuff的回复。我们的答案对文件有不同的解释,所以请自己检查一下,如果我错了,我很乐意删除。
rect()似乎返回一个QRectF,您希望将它转换为QRect。你有两个选择:
toRect
例如,对于精确绘图,看上去很精确的东西
toAlignedRect
例如,确保你在画东西时不漏掉一条像素线。
例如,二进制文件中的1/3是0.0101010101010101010101...,因此根据计算方式的不同,您可以得到一半,表示为0.10000000000000000...或0.0111111111111...,并可能将其舍入计算一种方式,然后向下计算另一种方式。如果你画了一个特征的边缘(用一种方法计算),而忽略了在用另一种方法擦除板子时擦除一行像素,那就太不幸了。我的计算例子可能是错误的,但它只是为了说明。
https://stackoverflow.com/questions/37584813
复制相似问题