QLineEdit 控件在设置了 QDoubleValidator 之后无法正确输入小数

问题

今儿有个需求要限制一下QLineEdit 控件的输入,使其只能输入数字(包括浮点数),方法是:设置 QLineEdit 的输入验证器为 QIntValidatorQDoubleValidator 来限制输入为整数或浮点数。

代码如下:

cpp 复制代码
#include <QLineEdit>  
#include <QDoubleValidator>   
  
// 在窗口或控件的初始化函数中  
QDoubleValidator *validator = new QDoubleValidator(this);  
validator->setNotation(QDoubleValidator::StandardNotation);  
validator->setRange(0.0, 100.0); // 设置允许的范围,这里假设是 0 到 100  
  
this->ui->lineEdit1->setValidator(validator);  
this->ui->lineEdit2->setValidator(validator);  

运行发现问题,QLineEdit只能输入数字,在输入小数点后,不能输入小数位。

解决方法

改了个写法,代码如下:

cpp 复制代码
 // 限制输入为浮点数
    QDoubleValidator *validator = new QDoubleValidator(0.0000, 100.0000, 4, this);  // 限制范围为 0.00 到 100.00,保留 4 位小数
    validator->setNotation(QDoubleValidator::StandardNotation);
    this->ui->lineEdit1->setValidator(validator);
    this->ui->lineEdit2->setValidator(validator);

一切ok~

相关推荐
南巷逸清风26 分钟前
LeetCode 101.对称二叉树
c++·python·算法·leetcode
七月巫山晴40 分钟前
QChart中柱形图的简单使用并实现【Qt】
开发语言·数据结构·c++·qt·算法·排序算法
风清扬_jd1 小时前
Chromium HTML5 新的 Input 类型time对应c++
java·c++·html5
风清扬_jd1 小时前
Chromium HTML5 新的 Input 类型search对应c++
前端·c++·html5
柴头物联网1 小时前
XQT_UI 组件|01|颜色
开发语言·qt·ui
弘毅_Hao2 小时前
Qt QCheckBox、QPushButton和QRadioButton详解
qt·按钮
ya888g3 小时前
信息学奥赛复赛复习19-CSP-J2023-02公路-贪心算法、向上取整、向下取整
c++·算法
#Y清墨3 小时前
STL映射
数据结构·c++
无职转生真好看3 小时前
数据结构:利用队列的基本操作,模拟病人到医院排队看病过程。
数据结构·c++·算法