• 9744阅读
  • 16回复

[提问]【求助大侠】Qt 怎么设定 IP 地址输入格式 [复制链接]

上一主题 下一主题
离线neil-wen
 

只看楼主 倒序阅读 楼主  发表于: 2013-05-03


请问如何在上面的LineEdit中,设定IP地址的格式    “X.X.X.X”    X是代表0~255的数据    其它格式则不能通过
离线btptboy

只看该作者 1楼 发表于: 2013-05-03
使用正则表达式
我思故我在
离线neil-wen

只看该作者 2楼 发表于: 2013-05-03
引用第1楼btptboy于2013-05-03 10:47发表的  :
使用正则表达式

什么是正则表达式, 能具体说一下么?
离线btptboy

只看该作者 3楼 发表于: 2013-05-03
额,这个你应该google一下
我思故我在
离线neil-wen

只看该作者 4楼 发表于: 2013-05-03
引用第3楼btptboy于2013-05-03 12:53发表的  :
额,这个你应该google一下



看了 google 和 百度  还是就没有搞清楚  ,大侠  出出招  领教领教~
离线xsjqqq123

只看该作者 5楼 发表于: 2013-05-03
[0-255].[0-255].[0-255].[0-255]
这样吧……
离线xsjqqq123

只看该作者 6楼 发表于: 2013-05-03
错了不关我事哈……
离线xsjqqq123

只看该作者 7楼 发表于: 2013-05-03
离线btptboy

只看该作者 8楼 发表于: 2013-05-03
lz的依赖心理太强,也不善于学习,如果不想用正则表达式,那就试试下面的方法
bool validate()
{
    QStringList data = lineEdit->text().split('.');
    if(data.size() != 4)
        return false;
    int n;
    bool b;
    for(int i = 0; i < 4; i ++) [
        n = data.toInt(&b);
        if((!b) || (n < 0) || (n > 255))
            return false;
    }
    return true;
}
代码没测,但应该没问题



我思故我在
离线btptboy

只看该作者 9楼 发表于: 2013-05-03
第九行应该是n = data〔i〕.toInt(&b);
这个网站貌似有问题,中括号打不上


我思故我在
离线alexltr

只看该作者 10楼 发表于: 2013-05-03
有没有试过
void    setInputMask(const QString & inputMask)


查查文档看是否符合你的要求。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者

只看该作者 11楼 发表于: 2013-05-05
/***********************************************************************
* 函数名称: setIP4Validator
* 函数功能: 输入时检查IP地址的合法性,如果是非法的IP地址则无法进行输入
* 参数说明:
* 作者 :    爱在梦幻谷
* 最后修改:  2013年3月25日10:37:05
***********************************************************************/
void login::setIP4Validator(QLineEdit *lineEdit)
{
    QString Octet = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";
    lineEdit->setValidator(new QRegExpValidator(
                               QRegExp("^" + Octet + "\\." + Octet + "\\." + Octet + "\\." + Octet + "$"), this));
}

以上是我一直在用的接口,实现了你的要求
离线scnewboy
只看该作者 12楼 发表于: 2013-05-05
应该是对字符串得操作,我也是初学,我的思路首先判断是否有4个“.”其次判断小数点之间的内容是否为合法得4类IP,欢迎指正
离线roywillow

只看该作者 13楼 发表于: 2013-05-05
看样子天池代码库有必要添加一个ip地址输入框组件了,最好支持ipv4和ipv6
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线leonchiong

只看该作者 14楼 发表于: 2013-05-06
在lineedit的inputmask属性里设置"000.000.000.000"就行了
离线neil-wen

只看该作者 15楼 发表于: 2013-05-06
谢谢大侠们的倾情解囊      谢谢
我按照上面的方法试一试
离线圣域天子

只看该作者 16楼 发表于: 2013-05-07
引用第11楼爱的就是米于2013-05-05 12:26发表的  :
/***********************************************************************
* 函数名称: setIP4Validator
* 函数功能: 输入时检查IP地址的合法性,如果是非法的IP地址则无法进行输入
* 参数说明:
* 作者 :    爱在梦幻谷
.......

经测试可用,但是初始时没有三个圆点的分隔符
快速回复
限100 字节
 
上一个 下一个