针对行编辑框的限制输入代码
connect(ui->lineEditCRID, &QLineEdit::textChanged, this, [=]()
{
int Length = ui->comboBoxType->currentIndex() == 0? 5:11;
ui->lineEditCRID->setMaxLength(Length);
QString text = ui->lineEditCRID->text();
if (!text.isEmpty() || !text.isNull())
{
ui->lineEditCRID->blockSignals(true);
QString txt = text;
txt= formattingString(txt);
ui->lineEditCRID->setText(txt);
ui->lineEditCRID->blockSignals(false);
}
});
connect(ui->lineEditCSID, &QLineEdit::textChanged, this, [=]()
{
int Length = ui->comboBoxType->currentIndex() == 0? 5:11;
ui->lineEditCSID->setMaxLength(Length);
QString text = ui->lineEditCSID->text();
if (!text.isEmpty() || !text.isNull())
{
ui->lineEditCSID->blockSignals(true);
QString txt = text;
txt= formattingString(txt);
ui->lineEditCSID->setText(txt);
ui->lineEditCSID->blockSignals(false);
}
});
QString configuration_LUA600A::formattingString(QString & origingString)
{
QString cmd;
QByteArray text, gl;
origingString.remove(QRegularExpression(“[^0-9a-fA-F]”));
for (int i = 0; i < origingString.length(); i++) {
if ((i != 0) && (i % 2 == 0)) {
cmd.append(QChar(’ '));
}
cmd.append(origingString.at(i));
}
bool ok;
if(ui->comboBoxType->currentIndex() == 0){
text = QByteArray::fromHex(cmd.toLatin1());
gl=“07FF”;
if(text.toHex().toLongLong(&ok,16) > gl.toLongLong(&ok,16)){
cmd.remove(cmd.count()-1,1);
}
}else{
text = QByteArray::fromHex(cmd.toLatin1());
gl="1FFFFFFF";
if(text.toHex().toLongLong(&ok,16) > gl.toLongLong(&ok,16)){
cmd.remove(cmd.count()-1,1);
}
}
return cmd;
}