在平时的一些项目中,我时不时遇到一些由于信号槽在初始化阶段就被意外触发的情况。
比如在读取ini文件在进行初始化时,又或者客户端从服务端读取参数初始化时。
举个例子,comboBox。假如直接connect其 currentIndexChanged 或者currentTestChanged这两个信号,那么在代码中执行setCurrentIndex或者setCurrentIndex时,就会触发这两个信号,从未导致执行对应的槽函数。
假如仅仅希望是人手动选择之后才触发的话的可以选择 activated函数。
ComboBox
ComboBox{
onActivated: {
}
}
TextField, TextInput
TextField{
onTextEdited{
}
}
CheckBox
CheckBox{
onToggled: {
}
}