Qt实现IP输入框(模仿Windows系统中的IP输入框)

本文章所用的代码整理自Qt实现IP输入框_qt中ip地址输入框_GreenArrowMan的博客-CSDN博客,感谢原作者分享

本代码在上述作者代码基础上做了如下修改:

(1)屏蔽中文输入法

(2)修复原作者代码中输入框四周的黑色边线无法正常显示的问题

(3)添加类似windows的IP输入框中输入黑点后自动选中下一区段的特性

(4)修复原作者代码中读取的IP字符串没有添加黑点的问题

主要代码如下:

#include "qiplineedit.h"
#include <QApplication>
#include <QWidget>
#include <QLabel>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
    QWidget w;
    w.resize(300, 150);
    QIPLineEdit *ipEdit=new QIPLineEdit(&w);
    ipEdit->setGeometry(50, 20, 200, 50);
    ipEdit->setText("192.168.11.110");
    QLabel *ipLabel=new QLabel(&w);
    ipLabel->move(50, 90);
    ipLabel->setText(QString("IP is: %1").arg(ipEdit->text()));
    w.show();
	return a.exec();
}
#ifndef QIPLINEEDIT_H
#define QIPLINEEDIT_H

#include <QLineEdit>
#include <QEvent>

class QIPLineEdit : public QLineEdit
{
	Q_OBJECT

public:
	QIPLineEdit(QWidget *parent = 0);
	~QIPLineEdit();

	void setText(const QString &strIP);
	QString text() const;
protected:
	void paintEvent(QPaintEvent *event);
	bool eventFilter(QObject *obj, QEvent *ev);

	int getIndex(QLineEdit *pEdit);
	bool isTextVa
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现Qt 输入框实时判断,可以使用 Qt 的信号槽机制。具体实现步骤如下: 1. 在 UI 界面添加一个 QLineEdit(或者 QTextEdit)控件和一个 QLabel 控件。其 QLineEdit 控件用于输入文本,QLabel 控件用于显示实时判断的结果。 2. 在代码连接 QLineEdit 控件的 textChanged 信号和一个槽函数,用于实时判断文本输入框的内容并更新 QLabel 控件的显示内容。 3. 在槽函数对文本输入框的内容进行判断,并根据判断结果更新 QLabel 控件的显示内容。 下面是一个简单的示例代码: ```cpp // 在 UI 界面添加一个 QLineEdit 控件和一个 QLabel 控件 QLineEdit *lineEdit = new QLineEdit(this); QLabel *label = new QLabel(this); // 连接 QLineEdit 控件的 textChanged 信号和一个槽函数 connect(lineEdit, &QLineEdit::textChanged, this, [=]() { QString text = lineEdit->text(); // 对文本进行判断并更新 QLabel 控件的显示内容 if (text.isEmpty()) { label->setText("输入不能为空!"); } else if (text.length() < 6) { label->setText("输入长度不能小于 6!"); } else { label->setText("输入正确。"); } }); // 将 QLineEdit 控件和 QLabel 控件添加到 UI 界面 layout->addWidget(lineEdit); layout->addWidget(label); ``` 这段代码,我们连接了 QLineEdit 控件的 textChanged 信号和一个槽函数,每当文本输入框的内容发生变化时,槽函数就会被触发。在槽函数,我们首先获取文本输入框的内容,然后对其进行判断。最后根据判断结果更新 QLabel 控件的显示内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值