头文件:
#ifndef QBASELINEEDIT_H
#define QBASELINEEDIT_H
#include <QLineEdit>
class QBaseLineEdit : public QLineEdit
{
public:
explicit QBaseLineEdit(QWidget* parent = nullptr);
explicit QBaseLineEdit(const QString& contents, QWidget* parent = nullptr);
~QBaseLineEdit();
private:
void focusOutEvent(QFocusEvent* event) override;
private slots:
void slots_textChanged(const QString& str);
private:
bool mIsValid = true; //文本是否有效
};
#endif // QBASELINEEDIT_H
源文件:
#include "QBaseLineEdit.h"
QBaseLineEdit::QBaseLineEdit(QWidget* parent)
: QLineEdit(parent)
{
connect(this, &QLineEdit::textChanged, this, &QBaseLineEdit::slots_textChanged);
}
QBaseLineEdit::QBaseLineEdit(const QString& contents, QWidget* parent)
: QLineEdit(contents, parent)
{
connect(this, &QLineEdit::textChanged, this, &QBaseLineEdit::slots_textCh