繁体   English   中英

将命令行参数传递给qml

[英]Passing commandline argument to qml

我想从linux shell调用一个qml脚本并传递一个文本作为参数,比如

./message.qml "hello this is a message"

要么

/usr/bin/qt5/qml ./message.qml "hello this is a message"

qml脚本应该显示该文本。

下面的示例qml脚本可以工作,但显示的文本(“hello”)当然是静态的。 是否可以在qml中查询命令行参数?

#!/usr/bin/qt5/qml

import QtQuick 2.2


Rectangle {
    width: 1024
    height: 600
    Text {
        anchors.centerIn: parent
        text: "Hello" // here I want to have a text which is set in the call
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            Qt.quit()
        }
    }
}

您可以使用Qt.application.arguments访问命令行参数,例如在我的情况下,如果我执行:

/usr/bin/qml message.qml "hello this is a message"
#!/usr/bin/qt5/qml

import QtQuick 2.2


Rectangle {
    width: 1024
    height: 600
    Text {
        anchors.centerIn: parent
        text: Qt.application.arguments[2] // here I want to have a text which is set in the call
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            Qt.quit()
        }
    }
}

Qt.application.arguments[index]可能会有所不同,具体取决于您如何调用Qt.application.arguments[index]的执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM