擅长:python、mysql、java
<P>首先,在Python或C++方面,你不会做任何这些,特别是不更新值标签。在</p>
<p>对于值标签,您只需使用属性绑定,例如:</p>
<pre><code>Label {
text: "Start value: " + spin1.value
}
</code></pre>
<p>对于像求和这样的琐碎计算,你也会这样做。在</p>
<p>现在,假设计算更复杂,并且您希望在Python端执行此操作,那么在QML端就不需要任何信号。在</p>
<p>相反,一种选择是在Python中有一个<code>QObject</code>派生类,该类提供一个接受两个参数的slot。在</p>
<p>该对象的实例将通过QML引擎的<code>setContextProperty()</code>机制公开给QML。
然后,每个spinbox'<code>onValueChanged</code>处理程序可以使用这两个值来调用这个插槽。在</p>
<p>对于结果,slot可以返回值,或者对象可以提供由slot更新的result属性,该属性在QML中用作结果标签上的绑定。在</p>