我想做类似于以下代码的事情:
//test.qml
import QtQuick 1.0
Item
{
var globalforJs =10;
function increment() // JavaScript function
{
globalforJs++;
}
....
QML Code
我们可以在QML file
中使用全局变量并从JavaScript函数中访问它吗?
答案 0 :(得分:24)
尝试property int globalForJs: 10;
如果你想要一个可以采用任何类型的变量:
property var globalForJs: 10
在QML 2之前,请使用variant
关键字而不是var
。
答案 1 :(得分:8)
使用int
或variant
属性不会创建javascript变量,而是创建一个语义上不同的通用QML属性(see here)
在Qt 5之前,建议在单独导入的javascript文件中定义全局javascript变量,但是Qt 5会添加var
类型property support。
答案 2 :(得分:-3)
你想要制作全局的东西应该像这个例子那样完成
property variant name:"john"//i want this to be global
onCreationCompleted(){
Qt.name = name
}
如果您想使用名称属性,请使用Qt.name
,而不只是name.this
也适用于任何控件ID