如何设置相对路径而不是绝对路径

时间:2015-10-10 16:33:38

标签: qt qml

我在Linux Mint 13中使用QT 5.2.1中的Qt Quick Application项目,我想使用我的音频文件的相对路径,它位于我的项目文件夹的声音文件夹中。 这是我的

  

main.qml

import QtQuick 2.2
import QtQuick.Window 2.1
import QtMultimedia 5.0

Window {
    visible: true
    width: 360
    height: 360
    Audio{
        id: sound
        source: "sounds/1.mp3"  //doesn't work
        source: "file:../sounds/1.mp3" //also doesn't work
        source: "file:/home/vlado/Qt projects/test521/sounds/1.mp3" //this works
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            sound.play()
        }
    }

    Text {
        text: qsTr("Play Sound")
        anchors.centerIn: parent
    }
}

不起作用意味着存在以下错误:

  

的GStreamer;无法播放 - “”错误:“没有设置URI”

正如你所看到的,一切正常,如果我使用绝对路径,但我想部署这个应用程序和安装文件夹然后会有所不同。这就是我想使用相对路径的原因。 这是我的

  

test521.pro

TEMPLATE = app

QT += qml quick

SOURCES += main.cpp

RESOURCES += qml.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Default rules for deployment.
include(deployment.pri)

这是

  

我的main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>

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

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml")));

    return app.exec();
}

如何设置相对路径而不是绝对路径?

修改:QML解决方案:how to specify image file path relative to application folder对我不起作用。

0 个答案:

没有答案