#define SET_LONGITUDE_VALIDATOR(lineEdit) \
{ \
QRegExp rxLongitude("^-?(180(\\.0{1,6})?|1[0-7]\\d(\\.\\d{1,6})?|[1-9]?\\d(\\.\\d{1,6})?)$"); \
QRegExpValidator *validator = new QRegExpValidator(rxLongitude, lineEdit); \
lineEdit->setValidator(validator); \
}
#define SET_LATITUDE_VALIDATOR(lineEdit) \
{ \
QRegExp rxLatitude("^-?(90(\\.0{1,6})?|[1-8]?\\d(\\.\\d{1,6})?)$"); \
QRegExpValidator *validator = new QRegExpValidator(rxLatitude, lineEdit); \
lineEdit->setValidator(validator); \
}
经度 (-180 到 180)
-
^
: 匹配输入字符串的开始位置。 -
-?
: 可选的负号。 -
180(\\.0{1,6})?
: 匹配 180,后可跟0到6个零的小数。 -
1[0-7]\\d(\\.\\d{1,6})?
: 匹配 100 到 179,后可跟0到6位的任意小数。 -
[1-9]?\\d(\\.\\d{1,6})?
: 匹配 0 到 99,后可跟0到6位的任意小数。 -
$
: 匹配输入字符串的结束位置。
纬度 (-90 到 90)
-
^
: 匹配输入字符串的开始位置。 -
-?
: 可选的负号。 -
90(\\.0{1,6})?
: 匹配 90,后可跟0到6个零的小数。 -
[1-8]?\\d(\\.\\d{1,6})?
: 匹配 0 到 89,后可跟0到6位的任意小数。 -
$
: 匹配输入字符串的结束位置。