QML 日历:以编程方式调用 onClicked 处理程序
QML Calendar : Programmatically call onClicked handler
我的 QML 应用程序正在显示日历元素。
更改(单击)所选日期时,我需要更新其他元素(图像)。
我有这样的东西:
Calendar {
id: calCalendar
onClicked: {
// update other QML element
}
}
当用户在日历上单击鼠标时工作正常:其他元素(图像)已正确更新。
我的问题是初始化:当我的应用程序启动时,日历默认显示当前日期,我想以编程方式调用 onClicked 处理程序,以确保图像是最新的。
我不知道该怎么做。
如果您想在 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
。您可以像您说的那样以编程方式触发信号,只需像函数一样调用它。您需要知道参数的有效重载(如果有的话)。
我的 QML 应用程序正在显示日历元素。
更改(单击)所选日期时,我需要更新其他元素(图像)。
我有这样的东西:
Calendar {
id: calCalendar
onClicked: {
// update other QML element
}
}
当用户在日历上单击鼠标时工作正常:其他元素(图像)已正确更新。
我的问题是初始化:当我的应用程序启动时,日历默认显示当前日期,我想以编程方式调用 onClicked 处理程序,以确保图像是最新的。
我不知道该怎么做。
如果您想在 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
。您可以像您说的那样以编程方式触发信号,只需像函数一样调用它。您需要知道参数的有效重载(如果有的话)。