1、概述
源码放在文章末尾
该项目为IP地址输入框控件,主要包含如下功能:
-
- 可设置IP地址,自动填入框。
-
- 可清空IP地址。
-
- 支持按下小圆点自动切换。
-
- 支持退格键自动切换。
-
- 支持IP地址过滤。
-
- 可设置背景色、边框颜色、边框圆角角度。
下面是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_OBJECTQ_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地址网段输入框1QLineEdit *txtIP2; //IP地址网段输入框2QLineEdit *txtIP3; //IP地址网段输入框3QLineEdit *txtIP4; //IP地址网段输入框4QString 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