QLineEdit限制输入格式_qt 将lineedit的输入限制为16进制-程序员宅基地

技术标签: Qt  

使用正则表达式QRegExp,在Qt帮助文档中有详细使用说明。

1.限制普通输入

拿ip设置输入框为例:

在输入框所在界面构造函数中写入:

    QRegExp regExp("[0-9.]{1,15}");
    ui->lineEdit_ipv4_addr->setValidator(new QRegExpValidator(regExp,this));
    ui->lineEdit_ipv4_netmask->setValidator(new QRegExpValidator(regExp,this));

其中:

[0-9.]表示只允许0-9之间的数字和特殊符号.的输入,如果需要限制字母,则改为[a-zA-Z]即可。

{1,15}表示匹配1次,并且最多允许输入15个元素。

2.按照一定的格式限制输入

还是拿ip输入框为例:

要求输入类似192.168.1.1这种ip地址,并且点不用自己输入,直接显示在输入框,输入3个数字后自动跳转点后面继续输入:

QString ipRangeStr = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";//限制最大输入255
QRegExp ipRegex ("^" + ipRangeStr 
                      + "\\." + ipRangeStr 
                      + "\\." + ipRangeStr 
                      + "\\." + ipRangeStr + "$");
auto ipValidator = new QRegExpValidator(ipRegex,this);//检查其有效性
ui->lineEdit_ipv4_addr->setValidator(ipValidator);
ui->lineEdit_ipv4_addr->setInputMask("000.000.000.000");

更多用法:


Character	Meaning
A
 
ASCII alphabetic character required. A-Z, a-z.
 
a
 
ASCII alphabetic character permitted but not required.
 
N
 
ASCII alphanumeric character required. A-Z, a-z, 0-9.
 
n
 
ASCII alphanumeric character permitted but not required.
 
X
 
Any character required.
 
x
 
Any character permitted but not required.
 
9
 
ASCII digit required. 0-9.
 
0
 
ASCII digit permitted but not required.
 
D
 
ASCII digit required. 1-9.
 
d
 
ASCII digit permitted but not required (1-9).
 
#
 
ASCII digit or plus/minus sign permitted but not required.
 
H
 
Hexadecimal character required. A-F, a-f, 0-9.
 
h
 
Hexadecimal character permitted but not required.
 
B
 
Binary character required. 0-1.
 
b
 
Binary character permitted but not required.
 
>
 
All following alphabetic characters are uppercased.
 
<
 
All following alphabetic characters are lowercased.
 
!
 
Switch off case conversion.
 
\
 
Use \ to escape the special characters listed above to use them as separators.

只需在双引号中标明要用的格式

“000.000.000.000;”是一个IP地址
“HH:HH:HH:HH:HH:HH;0”是一个MAC地址。
“\\0\\xHHHH;0”是只允许输入一个16位的十六进制数。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_33879812/article/details/100736403

智能推荐

【Java案例】银行存取款程序设计_java银行存取款代码-程序员宅基地

文章浏览阅读9.2k次,点赞13次,收藏114次。【Java案例】编写银行存取款程序,实现简单的存取款功能。_java银行存取款代码

(2)RT-Thread-stm32f103精英开发板-SSD1306使用_rtthread使用ssd-程序员宅基地

文章浏览阅读609次,点赞3次,收藏4次。文章目录rt-u8g2u8g2 的特点:效果安装点击编译,下载,进入finsh界面rt-u8g2链接u8g2 原先是 Arduino 平台上的一个单色屏驱动,现在移植到了 rt-thread,可以满足各种各种各样的需求。u8g2 的特点:支持近 200 种单色屏,移植方便支持各种绘图函数、图像与非操作,自带用户按键检测支持 unicode 和 utf8,自带 100 多种字体和 100 多个 icon效果安装添加完后,是这样的,右击图标点击详细配置,勾选内容后,保存ctr_rtthread使用ssd

git提交之后再pull导致很多代码被修改,但是修改又不是你修改的_git 合并分支时,有许多不是项目的修改-程序员宅基地

文章浏览阅读974次。这样变基到当前仓库分支最新的提交,并将本地的提交应用到最新的提交之上,与普通git pull命令不同,git pull --reabse会将本地的提交变基到最新的提交之上,而不是将本地的提交和远程的提交合并。你本地没有拉master代码,但是你本地提交了一个评审,但是还没和入,这个之后pull一下会把你上次代码更新到这次所有的代码都进行一个对比,如何提交这个。git提交之后再pull导致很多代码被修改,但是修改又不是你修改的,导致你本地很多修改,怎么抛弃掉这些修改呢。然后我们本地执行下面这个命令。_git 合并分支时,有许多不是项目的修改

前端开发之vue-grid-layout的使用和实例-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout

Power Apps-上传附件控件_powerapps点击按钮上传附件-程序员宅基地

文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件

C++ 面向对象(Object-Oriented)的特征 & 构造函数& 析构函数_"object(cnofd[\"ofdrender\"])十条"-程序员宅基地

文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"

随便推点

「USACO2015」 最大流 - 树上差分_usaco 差分-程序员宅基地

文章浏览阅读301次。题目大意给定一棵有N个点的树,所有节点的权值都为0。有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一,最后输出K次操作完毕后权值最大的那个点的权值。分析算得上是树上差分的模板题了。说一下普通的差分。现在有这么一个问题,给定一个序列A,有K个修改,每个修改将[L,R]中的数加1,最后问其中的最大数。最普通的做法就是每次跑一遍[L,R],并更新最大值,显然这样做可能会..._usaco 差分

Leetcode #315: 计算右侧小于当前元素的个数_找元素右边比他小的数字-程序员宅基地

文章浏览阅读201次。Leetcode #315: 计算右侧小于当前元素的个数题目题干示例题解方法一:蛮力法。PythonC++方法二:使用容器。PythonC++方法三: 构建二叉搜索树。C++题目题干该问题计算右侧小于当前元素的个数 题面:You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the num_找元素右边比他小的数字

HTTP图解读书笔记(第六章 HTTP首部)响应首部字段_web响应的首部内容-程序员宅基地

文章浏览阅读142次。Accept-Ranges告知客户端服务器是否可以处理范围请求(可以:bytes,不可以:none)Age告诉客户端,源服务器在多久前创建了响应,单位为秒ETag首部字段 ETag 能告知客户端实体标识。它是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的 ETag值 另外,当资源更新时,ETag 值也需要更新。生成 ETag 值时,并没有统一的算法..._web响应的首部内容

Centos7最简搭建NFS服务器_centos7 搭建nfs server-程序员宅基地

文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server

Springboot整合Mybatis-Plus使用总结(mybatis 坑补充)_mybaitis-plus ruledataobjectattributemapper' and '-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d

EECE 1080C / Programming for ECESummer 2022 Laboratory 4: Global Functions Practice_eece1080c-程序员宅基地

文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c

推荐文章

热门文章

相关标签