[英]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.