【问题标题】:Alternative to QLineEdit to get a double替代 QLineEdit 以获得双倍
【发布时间】:2012-09-03 11:28:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: qt qlineedit


    【解决方案1】:

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

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

    double xmax;
    if (ui->lineEdit->text()->isEmpty())
        xmax = numeric_limits<double>::quiet_NaN();
    else
        xmax = ui->lineEdit->text().toDouble();
    

    【讨论】:

    • 使用 QDoubleSpinBox 我必须有向上和向下箭头,我不想这样做。
    • @SamuelNLP:好的,然后坚持行编辑。只需使用正确的验证器并检查行编辑是否为空。
    • @SamuelNLP 要摆脱箭头,您可以简单地使用QDoubleSpinBox 的方法setButtonSymbols(QAbstractSpinBox::NoButtons)
    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多