そらみみさん、こんにちは。ケイロニアンです。
ちょろっとQtのソースみてみました。 QRectのソースはqtbase\src\corelib\tools\qrect.cppにありました。 (5.4.0を見ています。)
QRect::contains()は頭でisNull()ならfalseを返却してます。 isNull()の定義は(left==right) 【&&】 (top==bottom)ですから、そらみみさ んのソースの場合、isNull()に該当しないのでfalseは返らないでOKですね。 しかし、QRectF::contains()は、処理の途中で(left==right)、【もしくは】、 (top==bottom)になった時に、falseを返却しています。 そらみみさんのソースの場合、この条件に該当するのでfalseが返ることにな りますね。 つまり、Qtのソース的にQRectではtrue、QRectFではfalseとなっていると思い ます。
同じ名前の関数の動作が異なるのは違和感が強いです。 QRectFの上記条件判断しているところに、"null rect"ってコメントされてま す。でも、この条件はisNull()ではなくisEmpty()と同じだと思います。 (emptyは空の容器で、nullは容器ごと無いなんてイメージかも?)
私はまだQt始めたばかりですので、ちょっと心配です。他の方のご意見もご確 認下さいね。
以上
PS.小澤さん ごめん。私はAndroidは大昔触ったっきりでもう覚えていません。解る方が来 られるのをお待ちくださいな。