定义
void CommonHelper::slotNameFilter(QLineEdit* linteEdit_, QString s)
{
if (linteEdit_ == nullptr)
{
return;
}
s.replace(QString::fromLocal8Bit("?"), "");
s.replace(QString::fromLocal8Bit(":"), "");
s.replace(QString::fromLocal8Bit("‘"), "");
s.replace(QString::fromLocal8Bit("’"), "");
s.replace(QString::fromLocal8Bit(","), "");
s.replace(QString::fromLocal8Bit("。"), "");
s.replace(QString::fromLocal8Bit("、"), "");
s.replace(QString::fromLocal8Bit("《"), "");
s.replace(QString::fromLocal8Bit("》"), "");
s.replace(QString::fromLocal8Bit(";"), "");
s.replace(QString::fromLocal8Bit("“"), "");
s.replace(QString::fromLocal8Bit("”"), "");
s.replace(QString::fromLocal8Bit("【"), "");
s.replace(QString::fromLocal8Bit("】"), "");
s.replace(QString::fromLocal8Bit("{"), "");
s.replace(QString::fromLocal8Bit("}"), "");
s.replace(QString::fromLocal8Bit("|"), "");
s.replace(QString::fromLocal8Bit(")"), "");
s.replace(QString::fromLocal8Bit("("), "");
s.replace(QString::fromLocal8Bit("·"), "");
s.replace(QString::fromLocal8Bit("~"), "");
s.replace(QString::fromLocal8Bit("-"), "");
s.replace(QString::fromLocal8Bit("——"), "");
s.replace(QString::fromLocal8Bit("+"), "");
s.replace(QString::fromLocal8Bit("="), "");
s.replace(QString::fromLocal8Bit("!"), "");
s.replace(QString::fromLocal8Bit("@"), "");
s.replace(QString::fromLocal8Bit("#"), "");
s.replace(QString::fromLocal8Bit("¥"), "");
s.replace(QString::fromLocal8Bit("%"), "");
s.replace(QString::fromLocal8Bit("……"), "");
s.replace(QString::fromLocal8Bit("&"), "");
s.replace(QString::fromLocal8Bit("*"), "");
linteEdit_->setText(s);
}
int CommonHelper::Fun_SetLimiteLineText(QLineEdit* linteEdit_, int nLength_, QString strValidText)
{
if (linteEdit_ == nullptr)
{
return -1;
}
connect(linteEdit_, &QLineEdit::textChanged, this, [=](QString str)
{
slotNameFilter((QLineEdit *)sender(), str);
});
QRegExp regx;
if (nLength_ == 16)
{
regx.setPattern("^[^\\\\\u0020/:*?\"<|'%>]{1,16}$");
}
else if (nLength_ == 32)
{
regx.setPattern("^[^\\\\\u0020/:*?\"<|'%>]{1,32}$");
}
else if (nLength_ == 12)
{
regx.setPattern("^[^\\\\\u0020/:*?\"<|'%>]{1,12}$");
}
QValidator* validator = new QRegExpValidator(regx, linteEdit_);
linteEdit_->setValidator(validator);
return -1;
}
头文件
#pragma once
#include "stdafx.h"
#include <QFile>
#include <QApplication>
#include <QTranslator>
#include <QResource>
class CommonHelper:public QObject
{
public:
Q_OBJECT
public:
void slotNameFilter(QLineEdit* linteEdit_, QString s);
int Fun_SetLimiteLineText(QLineEdit* linteEdit_, int nLength_, QString strValidText = "");
};