QDoubleValidator完善版

更新时间:2023-07-26 19:40:14 阅读: 评论:0

QDoubleValidator完善版
  使⽤过QDoubleValidator的同学都知道,QDoubleValidator在Qt中实现并不完善,导致使⽤时存在bug,但是幸好,Qt提供了validate的虚函数,让我们可以重写它,以下是我实现的⼀个QDoubleValidator版本,暂时没有发现什么问题。
炸莲藕的做法大全//***********************QDoubleValidator.h*************************//
#ifndef QTVEDITORDOUBLEVALIDATOR_H
#define QTVEDITORDOUBLEVALIDATOR_H
#include<QDoubleValidator>
class QtVEditorDoubleValidator :public QDoubleValidator
{伤心绝望的网名
public:
explicit QtVEditorDoubleValidator(QObject * parent = Q_NULLPTR);
QtVEditorDoubleValidator(double bottom,double top,int decimals, QObject *parent = Q_NULLPTR);
QValidator::State validate(QString &str,int&i)const;
面面俱到的意思};
#endif// QTVEDITORDOUBLEVALIDATOR_H
//***********************QDoubleValidator.cpp*************************//
#include"QtVEditorDoubleValidator.h"
#include<QString>
QtVEditorDoubleValidator::QtVEditorDoubleValidator(QObject *parent)
:QDoubleValidator(parent)
{
}
QtVEditorDoubleValidator::QtVEditorDoubleValidator(double bottom,double top,int decimals, QObject *parent)
:QDoubleValidator(bottom,top,decimals,parent)
{
}
QValidator::State QtVEditorDoubleValidator::validate(QString &str,int&i)const
{jehovah
if(str.isEmpty())
return QValidator::Intermediate;
if(bottom()>=0&& str.startsWith('-'))
人参鹿茸泡酒配方return Invalid;
int dotPos = str.indexOf(".");
if(dotPos >0&& str.right(str.length()- dotPos -1).length()>decimals())//判断⼩数点位数
return Invalid;
bool ok =fal;
double val = Double(&ok);建设工程项目
if(!ok)
return(bottom()<0&&!pare("-"))? Intermediate : Invalid;
if(val <=top()&& val >=bottom())胡萝卜汁的做法
return Acceptable;
if(val >=0)
return(val >top()&&-val <bottom())? Invalid : Intermediate;
el
return(val <bottom())? Invalid : Intermediate;
优秀员工发言稿
}
附记:
  偶然翻了下⽹上的其他博客,发现有⼀种解决⽅式如下:
speedValidator.tRange(0,2000,2);
speedValidator.tNotation(QDoubleValidator::StandardNotation); ui.tSpeedEdt->tValidator(&speedValidator);
  暂未验证,貌似有的同学说有效,有的说⽆效,聊以附记。

本文发布于:2023-07-26 19:40:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1118710.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:发现   做法   导致   貌似   完善   同学   没有   网名
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图