QLineEdit限制数字输入范围
QLineEdit限制经纬度输入范围和整形输入范围,double和int采用两种不同的方式进行。
int输入范围限制,重写QIntValidator
class MyIntValidator : public QIntValidator
{Q_OBJECT
public:explicit MyIntValidator(QObject * parent = 0) :QIntValidator(parent){}MyIntValidator(int bottom, int top, QObject * parent) :QIntValidator(bottom, top, parent){}virtual void setRange(int bottom, int top){QIntValidator::setRange(bottom, top);}~MyIntValidator(){}virtual State validate(QString &s, int &n) const{return QIntValidator::validate(s, n);}virtual void fixup(QString &s) const{//s = QString("%1").arg(bottom());s = QString("");}
};
double输入限制
class MyDoubleValidator : public QDoubleValidator
{Q_OBJECT
public:explicit MyDoubleValidator(QObject * parent = 0) :QDoubleValidator(parent){}MyDoubleValidator(double bottom, double top,int decimals, QObject * parent) :QDoubleValidator(bottom, top, decimals, parent){}virtual void setRange(double bottom, double top, int decimals){QDoubleValidator::setRange(bottom, top, decimals);}~MyDoubleValidator(){}virtual State validate(QString &str, int &n) const{if (str.isEmpty()){return QValidator::Intermediate;}int a = 1;bool cOK = false;double val = str.toDouble(&cOK);if (!cOK){return QValidator::Invalid;}int dotPos = str.indexOf(".");if (dotPos > 0){if (str.right(str.length() - dotPos - 1).length() > decimals()){return QValidator::Invalid;}}if (val< top() && val > bottom()){return QValidator::Acceptable;}return QValidator::Invalid;}virtual void fixup(QString &s) const{//s = QString("%1").arg(bottom());s = QString("");}
};
使用方法:
ui.starLngEdit->setValidator(new MyDoubleValidator(-180.0, 180.0,8, ui.starLngEdit));//8代表小数位数
ui.WidthEdit->setValidator(new MyIntValidator(1, 1000, ui.WidthEdit));
QLineEdit限制数字输入范围相关推荐
- QLineEdit设置浮点型数字输入问题
Qt中QLineEdit如果想设置整数,可以使用QIntValidtor:例如ui.k1Edit->setValidtor(new QIntValidtor(10,100,this)); 但不支 ...
- Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)
目录 1.QLineEdit文本框类 2.QTextEdit文本框类 QLineEdit和QTextEdit都是文本框类,QLineEdit类是单行文本框控件,可以输入单行字符串.QTextEdit类 ...
- 【QT】Qt正则表达式的使用:使用QRegExp来限制QLineEdit的输入格式
QLineEdit中使用QRegExp来限制输入格式,下面以IP输入框为例 QLineEdit *lineEditIP = new QLineEdit("192.168.147.200&qu ...
- qlineedit文本改变时_行文本编辑框QLineEdit及自动补全
导读 行文本输入框在用于界面的文本输入,在WEB登录表单中应用广泛.一般行文本编辑框可定制性较高,既可以当作密码输入框,又可以作为文本过滤器.QLineEdit本身使用方法也很简单,无需过多的设置就能 ...
- Qt中的QLineEdit、QTextEdit、QPlainTextEdit
文章目录 1 Qt中的文本编辑组件 2 QLineEdit组件 2.1 QLineEdit组件简介 2.2 QLineEdit常用方法 1 Qt中的文本编辑组件 Qt中支持3种常用的文本编辑组件: Q ...
- QT中实现QLineEdit变成圆角以及QCombox大半空白,小部分下拉框样式
在QT中QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能. 我现在用的是在UI中直接设置样式表,也可以自己代码设置. 第一步: 在UI界面选择自己想设置的空间选 ...
- QByteArray怎么转化为QString类型,并且在QLineEdit上面显示出来
//存文件名字QByteArray temp_filename;for (int i =128;i<257;){temp_filename.append(inbuf[i]);i+=4;}QStr ...
- 【Qt开发】常用控件--QLineEdit
QLineEdit是单行文本编辑控件.比如用户名,密码等输入框可以使用该控件. 所属头文件<QLineEdit> 常用方法 1.void setText(const QString &am ...
- qt之键盘的设计及QlineEdit内容读取
第一阶段----找到syszuxpinyin源码 与大部分人一样,碰到一个问题不会解决,先问一下百度大神怎么看,网上搜QT软键盘,有各种各样的解决方法,有些我也下载运行了,不是很好用,有些还需要钱,对 ...
最新文章
- 人生致命的8个经典问题[转]
- CCF NOI1150 确定进制
- 云炬随笔20211012(2)
- 【学术相关】研究生通常都有怎样的作息时间呢?
- java字符串的运用代码_java – 如何使用mockito模拟一个字符串?
- 机器学习中的常用概率分布
- sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
- ASP.NET Session的七点认识(转)
- MySQL性能指标及计算方法
- 10倍,BoostKit鲲鹏全局缓存3大创新技术助力Ceph性能提升
- 计算机技能高考带什么文具,高考必备——21条考场抓分细节
- 产品需求分析神器:KANO模型分析法
- React官方状态管理库—— Recoil
- Linux—添加开机启动
- 亲测-分享最新微信付费进群收费进群系统源码-附带搭建教
- / 和 /* 和 /** 的区别
- 通过azure学生认证拿到一年服务器使用权
- IMX6ULL系列学习记录-sii902x移植篇
- 网络编程(3)-----------Javaweb
- String系列:Java的String类一(String)