QML:如何获取文件baseName

QML:如何获取文件baseName,qml,qt-creator,Qml,Qt Creator,如何从完整文件URL中提取文件baseName FileDialog { id: fileDialog title: "Oooopen" onAccepted: { console.log(fileUrl) } } fileUrl没有像baseName这样的属性,我尝试用谷歌搜索,但没有成功您可以定义自己的baseName函数 function basename(str)

如何从完整文件URL中提取文件baseName

FileDialog
    {
        id: fileDialog
        title: "Oooopen"
        onAccepted:
        {
        console.log(fileUrl)    
        }

    }

fileUrl
没有像
baseName
这样的属性,我尝试用谷歌搜索,但没有成功

您可以定义自己的
baseName
函数

function basename(str)
{
    return (str.slice(str.lastIndexOf("/")+1))
}


FileDialog
{
    id: fileDialog
    title: "Oooopen"
    onAccepted:
    {
        console.log(basename(fileUrl.toString()))    
    }
}

您可以通过QFielFipe的功能将自定义类从C++暴露到QML,因为它不是从QObjo派生出来的,不能直接暴露于QML。或者只需使用Regexp,例如
fileUrl.toString().replace(/\\/g,“/”).replace(/.*\/,“”)
Qt5.10中可能存在的重复项(也可能在早期版本中)。此函数类似于:
return(String(str).slice(String(str.lastIndexOf(“/”)+1))