【发布时间】:2012-09-03 11:28:43
【问题描述】:
我有一个 QLineEdit,我用它来获得双精度。但是有没有更合适的获取方式呢?这是我的代码。
ui->lineEdit->setValidator(new QIntValidator(this));
QString XMAX=ui->lineEdit->text();
double xmax=XMAX.toDouble();
【问题讨论】:
我有一个 QLineEdit,我用它来获得双精度。但是有没有更合适的获取方式呢?这是我的代码。
ui->lineEdit->setValidator(new QIntValidator(this));
QString XMAX=ui->lineEdit->text();
double xmax=XMAX.toDouble();
【问题讨论】:
输入双精度的规范方法当然是使用QDoubleSpinBox。
如果您坚持使用QLineEdit,则应将其与QDoubleValidator 一起使用,而不是QIntValidator。我只想添加一个完整性检查,以确保在编辑字段中输入了某些内容:
double xmax;
if (ui->lineEdit->text()->isEmpty())
xmax = numeric_limits<double>::quiet_NaN();
else
xmax = ui->lineEdit->text().toDouble();
【讨论】:
QDoubleSpinBox 的方法setButtonSymbols(QAbstractSpinBox::NoButtons)