代码:
QString CurrentSelect = plistwidget->CurrentItem();
qDebug()<<"CurrentSelect:"<<CurrentSelect;
if( CurrentSelect.isEmpty() || CurrentSelect.isNull() )
return;
QString CurrentPlay = mediaplayer->currentMedia().canonicalUrl().path();
qDebug()<<"CurrentPlay:"<<CurrentPlay;
qDebug()<<"compare:"<<QString::compare(CurrentPlay,CurrentSelect);
结果:
CurrentSelect: "F:/KuGou/Beyond - 光辉岁月.mp3"
CurrentPlay: "/F:/KuGou/Beyond - 光辉岁月.mp3"
compare: -23
//两个字符相等
CurrentSelect: "F:/KuGou/Kanye West - Diamonds From Sierra Leone.mp3"
CurrentPlay: "/F:/KuGou/Beyond - Amani.mp3"
compare: -23
//两个字符不相等
之后我以为是我中文字符不被支持,然后又做了个实验:
代码:
QString test1("test1");
QString test2("test2");
QString test;
test=test2;
qDebug()<<"compare1::"<<QString::compare(test1,test);
qDebug()<<"compare2::"<<QString::compare(test2,test);
test1="你好";
test2="你好呀";
qDebug()<<"test1:"<<test1;
qDebug()<<"test2:"<<test2;
test=test2;
qDebug()<<"compare3::"<<QString::compare(test1,test);
qDebug()<<"compare4::"<<QString::compare(test2,test);
结果:
compare1:: -1
compare2:: 0
test1: "你好"
test2: "你好呀"
compare3:: -1
compare4:: 0
这我就不明白了,不是因为字符编码的问题?那是什么问题?所以想请教各位道友,有没有出现过这样的问题??
4 个解决方案
#1
我发现问题并解决了,这就不麻烦大家了
#2
#3
你不把是什麽原因和怎麼解決的說一下
#4
哦,忘记了,不好意思。
问题是出在
CurrentSelect: "F:/KuGou/Beyond - 光辉岁月.mp3"
CurrentPlay: "/F:/KuGou/Beyond - 光辉岁月.mp3"
开始多了一个斜杠符,因为Qurl::path()返回的比从QFileDilog中读取的路径多了一个斜杠符
问题是出在
CurrentSelect: "F:/KuGou/Beyond - 光辉岁月.mp3"
CurrentPlay: "/F:/KuGou/Beyond - 光辉岁月.mp3"
开始多了一个斜杠符,因为Qurl::path()返回的比从QFileDilog中读取的路径多了一个斜杠符
#1
我发现问题并解决了,这就不麻烦大家了
#2
#3
你不把是什麽原因和怎麼解決的說一下
#4
哦,忘记了,不好意思。
问题是出在
CurrentSelect: "F:/KuGou/Beyond - 光辉岁月.mp3"
CurrentPlay: "/F:/KuGou/Beyond - 光辉岁月.mp3"
开始多了一个斜杠符,因为Qurl::path()返回的比从QFileDilog中读取的路径多了一个斜杠符
问题是出在
CurrentSelect: "F:/KuGou/Beyond - 光辉岁月.mp3"
CurrentPlay: "/F:/KuGou/Beyond - 光辉岁月.mp3"
开始多了一个斜杠符,因为Qurl::path()返回的比从QFileDilog中读取的路径多了一个斜杠符