1

QLineEdit から指定された文字列を検証する必要があります。真の入力: 355.12° L

double の数値は 0 から 360 の間である必要があり、最後の文字は L または R である必要があります。度数 (°) には QString マスクを使用し、360 にはこの例を使用しましたが、マスクと QDoubleValidator を一緒に使用することはできません。この問題を解決する唯一の方法は QRegExp のようです。

私のマスク文字列:

">999.99°A"
4

2 に答える 2

1
((?:[012]?[0-9]{1,2}|3(?:[0-5][0-9]|60))(?:\.[0-9]{0,2})?)°[LR]

上記のパターンを試してみてください。ただし、qregexp が(?:)パターンをサポートしているかどうかはわかりません。

于 2014-07-09T11:40:00.587 に答える