3

我有一个 QLineEdit,我用它来获得双倍。但是有没有更合适的获取方式呢?这是我的代码。

ui->lineEdit->setValidator(new QIntValidator(this));

QString XMAX=ui->lineEdit->text();
double xmax=XMAX.toDouble();
4

1 回答 1

5

输入双精度的规范方法当然是使用QDoubleSpinBox

如果您坚持使用 a QLineEdit,则应将其与 a 一起使用,QDoubleValidator而不是您的QIntValidator. 我只想添加一个完整性检查,以确保在编辑字段中输入了某些内容:

double xmax;
if (ui->lineEdit->text()->isEmpty())
    xmax = numeric_limits<double>::quiet_NaN();
else
    xmax = ui->lineEdit->text().toDouble();
于 2012-09-03T11:32:46.797 回答