《QT实用小工具·十六》IP地址输入框控件

1、概述
源码放在文章末尾

该项目为IP地址输入框控件,主要包含如下功能:

    1. 可设置IP地址,自动填入框。
    1. 可清空IP地址。
    1. 支持按下小圆点自动切换。
    1. 支持退格键自动切换。
    1. 支持IP地址过滤。
    1. 可设置背景色、边框颜色、边框圆角角度。

下面是demo演示:
在这里插入图片描述

项目部分代码如下所示:

#ifndef IPADDRESS_H
#define IPADDRESS_H

/**
 * IP地址输入框控件
 * 1. 可设置IP地址,自动填入框。
 * 2. 可清空IP地址。
 * 3. 支持按下小圆点自动切换。
 * 4. 支持退格键自动切换。
 * 5. 支持IP地址过滤。
 * 6. 可设置背景色、边框颜色、边框圆角角度。
 */

#include <QWidget>

class QLabel;
class QLineEdit;

#ifdef quc
class Q_DECL_EXPORT IPAddress : public QWidget
#else
class IPAddress : public QWidget
#endif

{
    Q_OBJECT

    Q_PROPERTY(QString ip READ getIP WRITE setIP)

public:
    explicit IPAddress(QWidget *parent = 0);

protected:
    bool eventFilter(QObject *watched, QEvent *event);

private:
    QLabel *labDot1;    //第一个小圆点
    QLabel *labDot2;    //第二个小圆点
    QLabel *labDot3;    //第三个小圆点

    QLineEdit *txtIP1;  //IP地址网段输入框1
    QLineEdit *txtIP2;  //IP地址网段输入框2
    QLineEdit *txtIP3;  //IP地址网段输入框3
    QLineEdit *txtIP4;  //IP地址网段输入框4

    QString ip;         //IP地址
    QString bgColor;    //背景颜色
    QString borderColor;//边框颜色
    int borderRadius;   //边框圆角角度

private slots:
    void textChanged(const QString &text);

public:
    //默认尺寸和最小尺寸
    QSize sizeHint() const;
    QSize minimumSizeHint() const;

    //获取和设置IP地址
    QString getIP() const;
    void setIP(const QString &ip);

    //清空
    void clear();

    //设置背景颜色
    void setBgColor(const QString &bgColor);
    //设置边框颜色
    void setBorderColor(const QString &borderColor);
    //设置边框圆角角度
    void setBorderRadius(int borderRadius);
};

#endif // IPADDRESS_H

源码下载

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 22:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 22:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 22:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 22:00:03       20 阅读

热门阅读

  1. Django--数据库连接

    2024-04-06 22:00:03       12 阅读
  2. npm 常用命令详解

    2024-04-06 22:00:03       13 阅读
  3. 4.4C++

    4.4C++

    2024-04-06 22:00:03      17 阅读
  4. python的注释方法

    2024-04-06 22:00:03       15 阅读
  5. 题目 2690: 重新排序

    2024-04-06 22:00:03       14 阅读
  6. 区块链的应用领域:重塑未来的信任机制

    2024-04-06 22:00:03       15 阅读
  7. 深度学习训练中“num_workers”的作用

    2024-04-06 22:00:03       15 阅读