如使用TextField输入IP地址时,可以使用如下正则表达式:
validator: RegExpValidator{
regExp: /^(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])$/
}
使用在控件中,则类似如下:
TextField{
id: service_ip
text: ""
Layout.fillWidth: true
validator: RegExpValidator{
regExp: /^(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])$/
}
color: acceptableInput ? "black" : "red"
}
这样可以在不满足条件时,字体显示为红色。
再将其它的控件相关状态与acceptableInput关联,是比较合理的事情。