"For example, canConvert() would return true when called on a variant containing a string because, in principle, QVariant is able to convert strings of numbers to integers"
Please replace canConvert() with canConvert(Int).
I already created issue for this typo ( https://bugreports.qt-project.org/browse/QTBUG-28053 ), but this issue was occasionally closed without fixing, so I have to create it again and add more arguments:
1. Of course, this sentence is illogical and cause misunderstanding. Of course, author of this text mean "canConvert(Int)". If you don't see this, read the sentence in the docs again and again.
2. One cannot write canConvert(). This will cause compilation error. canConvert() needs normal argument or template argument. So, one should write canConvert<int>() or canCovert(Int). But I think canConvert(Int) is preferable.