2013-07-12 49 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