我的QML应用程序正在显示一个Calendar元素。
当更改(单击)所选日期时,我需要更新其他元素(图像)。
我有这样的事情:
Calendar {
id: calCalendar
onClicked: {
// update other QML element
}
}
当用户在日历上单击鼠标时,它可以正常工作:另一个元素(图像)已正确更新。
我的问题是初始化:当我的应用程序启动时,日历默认显示当前日期,并且我想以编程方式调用onClicked处理程序,以确保图像是最新的。
我不知道该怎么做。
答案 0 :(得分:2)
如果您想在QML组件初始化时执行某些操作,可以使用Component.onCompleted :
插槽。
Calendar {
id: calCalendar
onClicked: {
// update other QML element
}
Component.onCompleted: {
// Do stuff for initialization.
// you could do this here : calCalendar.Clicked()
// if you want to use the same code for initialization and for user input handling later on.
}
}
重点如下:onXXX : {
声明了一个处理单XXX
的插槽。信号为Clicked
。你可以像你说的那样以编程方式触发信号,只需像函数一样调用它。您需要知道参数的有效重载(如果有的话)。