It is likely that the fileUrls property of FileDialog is actually of type QStringList
I hope so, but it is QList<QUrl> but not QList<QString>
in the document of the FileDialog, there are nothing called fileUrl but filePath
and the qml type of filePath is list<string>
maybe this is because I am using 5.1RC, so the incoherent of the codes and the document still exist

Even passing by value would be cheap since QList is implicitly shared (reference counted)
Hard to said, because I need to modify the content of QList(sorting)

Do you have any benchmark that shows the operation to be slow?
No, it is not a bottleneck yet(maybe in the future, it is)
but the experience from c++(and c) make me feel nervous
when I have to copy the data which could be "moved" or take the reference usually