Qml里面的ComboBox控件,触发onCurrentIndexChanged事件是比较正常的。
只不过,每次都要改变index才能触发事件,而在鼠标点击相同的index时,并不触发事件。
更让人崩溃的是,currentIndex不是立即生效。
这个时候,可以利用onPressChanged和onCurrentTextChanged事件,取代onCurrentIndexChanged事件,来完成鼠标点击相同index时,也能触发事件。
源码如下所示:
利用first标志位,可以消除第一次点击就触发onCurrentTextChanged事件。
利用pressedFlag标志位,可以捕捉到第二次点击,才执行doSomeThing()函数。
这个方法,有个限制,就是ComboBox里面的item不能重名。
版权声明:本文为k331922164原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。