我有一个在qml中声明的组件/委托,我想将其动作连接到另一个qml或C ++类中的信号。因此,Component看起来像这样:
yield
我可以为组件创建连接(对于每个按钮都是如此),如下面的Qt表示的那样?
OrderBy
我的模型是在qml文件中表示的ListModel。
修改
如果这不是正确的方法,有人可能会建议我这样做吗?
答案 0 :(得分:0)
您可以使用Connections
- 对象。
您的表达将被翻译为:
Connections {
target: loginForm
onLoginChanged: whatIsThis.onIsEnabledChanged()
}
或者您可以使用JS连接语法: http://doc.qt.io/qt-5/qtqml-syntax-signals.html#connecting-signals-to-methods-and-signals
您的表达式将转换为:
loginForm.loginChanged.connect(this.onIsEnabledChanged)
答案 1 :(得分:0)
我正在发布我如何做我想做的事,就好像其他人需要这样。 我在模型中添加了一个函数并使用了set属性。
function action()
{
for(var i= 0; i<count; ++i)
{
if(backend.disable())
{
setProperty(i, "enable", false)
setProperty(i, "opac", 0.3)
}
else
{
setProperty(i, "enable", true)
setProperty(i, "opac", 1)
}
}
}
在组件中(在Item父项内),我添加了:
LoginForm{
id: loginForm
onLoginIdentityChanged: {
mymodel.action()
}