QT-IP地址输入框(inputmask结合信号槽)

本文介绍了如何在Qt应用中设计一个IP地址输入框,实现输入格式限制(最多三位,0-255),并在输入错误时给出警告。使用QLineEdit组件,设置掩码并连接信号与槽处理文本变化事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(这个水印能不能去掉。。看着好恶心)

实现:和wins中ip输入框基本相同。有焦点自动跳转;判断数字0-255;每个框最多输三位;如果有错误会报错......


//在edtIP定义的地方加入,edtIP是在ui中直接添加的,LineEdit的形式
ui.edtIP->setInputMask("000.000.000.000");//使用掩码设置输入格式,也可以在ui中直接改
connect(ui.edtIP, &QLineEdit::textChanged, this, &CommunicateModify::onIPTextChanged);//建立信号与槽


//槽函数,用来实现一系列功能
void CommunicateModify::onIPTextChanged(const QString& text)
{
    QLineEdit* lineEdit = qobject_cast<QLineEdit*>(sender());
    if (lineEdit) {
        QString part = lineEdit->text();

        if (part.isEmpty()) {
            return;
        }

        QStringList parts = part.split(".");//以.为分割把IP地址分为多个部分
        bool valid = true;
        for (const QString& p : parts) {
            int value = p.toInt();
            if (value < 0 || value > 255) {
                valid = false;
                break;
            }
        }

        if (!valid) {
            // 输入不合法,可以进行相应处理,比如清空输入或给出提示
            QMessageBox::warning(nullptr, "Warning", QStringLiteral("IP地址输入错误!"));
            lineEdit->clear();
        }
    }
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值