2013-07-12 48 views
2

未知錯誤,我有一個QML文件,這裏是源代碼:協議C是QML

import QtQuick 2.0 

Image 
{ 
    id: imageIcon; 

    width: 100; 
    height: 100; 

    source: 'C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg'; 
} 

當我展示它在QQuickView我得到這個錯誤:

QML Image: Protocol "c" is unknown

我如果它是相關的,則在Windows 7上運行代碼。

url的正確格式是什麼?

回答

5

貌似源必須使用正確的格式網址:它要麼期待一個file://方案或qrc://(對於東西Qt的資源內)

文件的解析嘗試使用「C」協議(從C: /),這是未知的:儘量

​​

參見:http://harmattan-dev.nokia.com/docs/platform-api-reference/xml/daily-docs/libqt4/qml-url.html

通常要相對有你的圖像(部署您的應用程序附近)或嵌入資源,不是絕對引用因爲這會破壞部署。

+0

實際上qrc適合我,如果我給像'qrc:/img/vista-manage-folders-icon.jpg'這樣的網址,它就可以工作。但是我想動態地給這個url,因爲我打算將它用於文件資源管理器,所以圖像文件不會在qrc中定義。 – otto

+0

然後它不是靜態而是動態的。原生Qt(C++)有一個方法將本地文件轉換爲URL:http://harmattan-dev.nokia.com/docs/library/html/qt4/qurl.html#fromLocalFile – Bruce

+0

它的工作,非常感謝。 – otto