Qt QLineEdit 输入框设置经纬度

因项目需要,将输入框的输入格式设置为经纬度的格式,如经度E123°23'45"和纬度N31°54'29",需要考虑数据的有效性,防止非法数据的输入。

主要用 setValidator 检验数据的有效性(用正则表达式),用 setInputMask 限制输入的格式,直接上代码:

// 经度
QLineEdit *lineEdit_Longitude = new QLineEdit(this);
lineEdit_Longitude->setGeometry(100, 100, 180, 80);
QRegExp regExp_Longitude("(E|W)?[0-1][0-7]\\d°[0-5]\\d'[0-5]\\d\"");
lineEdit_Longitude->setValidator(new  QRegExpValidator(regExp_Longitude, lineEdit_Longitude));
lineEdit_Longitude->setInputMask("A000°00'00\"");
lineEdit_Longitude->setText("E000°00'00\"");// 纬度
QLineEdit *lineEdit_Latitude = new QLineEdit(this);
lineEdit_Latitude->setGeometry(100, 200, 180, 80);
QRegExp regExp_Latitude("(N|S)?[0-8]\\d°[0-5]\\d'[0-5]\\d\"");
lineEdit_Latitude->setValidator(new  QRegExpValidator(regExp_Latitude, lineEdit_Latitude));
lineEdit_Latitude->setInputMask("A00°00'00\"");
lineEdit_Latitude->setText("N00°00'00\"");


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部