2011-11-04 63 views

回答

2

a在你的函数是本地函数,因为你var开头吧。相反,让它:

function randNumber(a){ 
     a = a+10; 
     return a; 
    } 
+0

感谢您的建议,但我仍然无法得到它输出15: 文本{ id:counter; x:300; y:300; y:300; 属性int a:5; 函数randNumber(a){a} a = a + 10; return a; } text:a; } – nipponese

1

你从来没有真正呼唤你randNumber功能,所以它不会有任何效果。如果您想将text设置为randNumber(a)的结果,则应该执行text: randNumber(a)。或者没有定义一个函数:

text : { 
    var a = a+10; 
    return a; 
} 

如果去掉var,该a属性也将被设置为15(与上面的代码只text将被设置为15,a将保持5)。

0

既不将它作为参数传递给函数,也不使用varrandNumber函数中创建新变量。只需使用a即可。它应该在函数中可用,因为函数在Text QML Component中。

这不起作用,因为您没有在程序中的任何位置调用该函数。我假设你想在启动时调用它(技术上当Text组件加载时)。所以你可以在Component.onCompleted函数上调用它。

Text { 
    id: counter 
    anchors.centerIn: parent 
    property int a: 5; 
    function randNumber(){ 
     a = a+10; 
     return a; 
    } 
    text: a; 
    Component.onCompleted: randNumber(); 
} 

查看此documentation的更多示例。

相关问题