限制小数范围,乍看起来很简单,不是有QDoubleValidator吗?一用,没效果,我Qt版本5.6,其他版本什么情况就不知道了。。
百度,解决方法:继承QDoubleValidator,重写validate方法。
在Stackoverflow上看到的demo:
class MyDoubleValidator : public QDoubleValidator
{
public:
MyDoubleValidator(double bottom, double top, int decimals, QObject *parent = 0)
:QDoubleValidator( bottom, top, decimals, parent) {};
QValidator::State validate(QString &input, int &pos) const
{
/*
* Original Qt Documentation:
* ---------
* QDoubleValidator::validate()
* Returns Intermediate if input contains a double that is
* outside the range or is in the wrong format; e.g. with too many
* digits after the decimal point or is empty.
* ---------
* Problem: Not what the user expects.
* Example: Range 0.0-10.0 wit