我想点击一个按钮,然后弹出一个对话框。 Dialog来自Qml,有一个标签,由另一个JavaScript文件中的变量编号组成。当变量更改时,对话框应重新绘制,新数字将显示在对话框中。
MyDlg.qml:
import "MyJs.js" as MyJs
Window {
id: myDialog
width: 300
height: 300
TabView {
id:myTabView
width: parent.width
height: parent.height
Tab {
title: "tab 1"
id: myTab1
text: MyJs.displayText
}
}
}
MyJs.js:
var displayText = "0";
答案 0 :(得分:2)
绑定在QML和单独的JavaScript文件之间不起作用,只有inline JavaScript expressions。我无法找到明确说明这一点的任何文档,但previous answers中也提到过。
如果您不想进入C ++,请使用QML单例(another answer to that question)。以下是您如何使用它的示例:
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Window 2.0
import "."
Window {
id: myDialog
width: 300
height: 300
TabView {
id:myTabView
width: parent.width
height: parent.height
Tab {
title: MySingleton.displayText
id: myTab1
Button {
text: "Click to change singleton property"
onClicked: MySingleton.displayText = "Hello"
}
}
}
}
pragma Singleton
import QtQml 2.0
QtObject {
property string displayText: ""
}
singleton MySingleton MySingleton.qml
更多信息: