Qt如何使用正则表达式设置经纬高度值的范围

Qt如何使用正则表达式设置经纬高度值的范围

  1. 经度的范围(-180,180): 保留8位小数的正则表达式:”^-?(180|1?[0-7]?\\d(\\.\\d{1,8})|[1-9]?\\d(\\.\\d{1,8})?)$"
  2. 纬度的范围(-90,90): 保留8位小数的正则表达式:”^-?(90|[1-8]?\\d(\\.\\d{1,8})?)$"
  3. 高度的范围(-1000000,1000000): 保留8位小数的正则表达式:”^-?(1000000|1?\\d{1,6} (\\.\\d{1,8})?)$"

Qt代码实现

 /**
 *经度
 */
QLineEdit *editor=new QLineEdit(parent);
QRegExp rxpLon(^-?(180|1?[0-7]?\\d(\\.\\d{1,8})|[1-9]?\\d(\\.\\d{1,8})?)$");
editor->setValidator(new QRegExpValidator(rxpLon,parent));
return editor;
/**
 *纬度
 */
QLineEdit *editor=new QLineEdit(parent);
QRegExp rxpLat(^-?(90|[1-8]?\\d(\\.\\d{1,8})?)$");
editor->setValidator(new QRegExpValidator(rxpLat,parent));
return editor;
/**
 *高度
 */
QLineEdit *editor=new QLineEdit(parent);
QRegExp rxpHei(^-?(1000000|1?\\d{1,6} (\\.\\d{1,8})?)$");
editor->setValidator(new QRegExpValidator(rxpHei,parent));
return editor;


版权声明:本文为baidu_38852146原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。