2011-12-19 28 views
2

我想在Meego上的C++和QML之間進行通信。它使用這個link中描述的C++ QML綁定。Meego諾基亞N950支持C++ QML綁定嗎?

當我在Symbian平臺上運行應用程序時,它可以工作,並且C++中的數據可用於在某些QML文件中進行操作。

但在Meego上它總是說myItem.qml file not found

請參見下面的代碼片段:

int main(int argc, char *argv[]) { 
    QApplication app(argc, argv); 

    QDeclarativeView view; 
    MyClass myClass; 
    view.rootContext()->setContextProperty("myObject", &myClass); 

    view.setSource(QUrl::fromLocalFile("MyItem.qml")); 
    view.show(); 

    return app.exec(); 
} 

不Meego的不支持QML C++綁定?

我也嘗試給出QML文件的確切路徑,但從來沒有找到該文件,甚至myItem是在項目結構中。

是否與路徑設置在.pro文件等相關的一些事情

在此請幫助,因爲我這個堅持在這裏和在使用Qt Quick的我的應用程序無法前進。

+0

您是否嘗試過這些的Meego的網站? :http://appdeveloper.intel.com/en-us/article/meego-software-development-a-closer-look 和 http://appdeveloper.intel.com/zh-cn/blog/2011/05/19 /包裝-QML應用-的meego – 2011-12-19 21:29:48

回答

1

是的,但是您的問題與C++和QML綁定無關。您的應用程序(特別是視圖)無法找到要加載的.qml文件。

默認情況下,我認爲meego的默認路徑是../qml。因此,默認情況下,您應該使用/opt/YOURNAME/bin中的二進制文件和/opt/YOURNAME/qml中的qml文件打包到/opt/YOURNAME中。

但是,您也可以將qml文件放入資源中,並使用:/路徑來訪問資源。

IE瀏覽器,在您的資源文件:

<RCC> 
    <qresource prefix="/"> 
     <file>qml/foo.qml</file> 
    </qresource> 
</RCC> 

而在C++:

viewer.setSource(QUrl("qrc:/qml/foo.qml"));