欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > qml中ComboBox组件onCurrentIndexChanged与onActivated的使用

qml中ComboBox组件onCurrentIndexChanged与onActivated的使用

2025/3/21 20:26:53 来源:https://blog.csdn.net/hsshh1988/article/details/146392485  浏览:    关键词:qml中ComboBox组件onCurrentIndexChanged与onActivated的使用

在qml页面中使用ComboBox时,一般会有以下用法:

ComboBox{id: boxmodel: yourBindingModelonCurrentIndexChanged: {   //业务代码}	
}  

通常不会有什么问题,切换下拉列表时触发onCurrentIndexChanged,然后执行业务代码。
但是,如果有

currentIndex: yourBindingIndex

即给combox组件的currentIndex进行了数据绑定,那么在初始化UI时,如果yourBindingIndex有有效值,则会触发onCurrentIndexChanged,此时并不是我们手动操作下拉列表触发的,这种情况一般是预期以外的,onCurrentIndexChanged内业务代码的执行也会造成程序异常。那如何避免呢?
使用onActivated

onActivated: {}

看官方文档描述:

This signal is similar to currentIndex changed, but will only be emitted if the combo box index was changed by the user, not when set programmatically.
index is the activated model index, or -1 if a new string is accepted.
The corresponding handler is onActivated.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词