QLineEdit屏蔽扫描枪输入自带回车的方法
一般的扫描枪在出厂默认模式时是带回车的,但是在特定需求下,需要屏蔽扫描枪自带的回车,执行键盘上的回车。
方法一、根据说明书直接取消扫描枪后缀格式
步骤1、首先您需要找到您的条码扫描枪说明书,在里面找到"自定义后缀"的章节,一般在“数据格式设置"(英文说明书是Data Formatting)章节中。
步骤2、在说明书里找到取消数据格式的设置条码,拿着扫描枪扫描一下这个条码,就可以去掉回车了。
方法二、通过判断回车与输入的时间间隔来屏蔽扫描枪的回车
QDateTime scantime;//定义全局变量
QLineEdit m_edtScaneLine;//定义的QLineEdit控件
connect(m_edtScaneLine, &QLineEdit::textEdited,this, [this](){
scantime = QDateTime::currentDateTime();
}); //记录你最后输入的时间
connect(m_edtScaneLine, &QLineEdit::returnPressed,this, [this](){
QDateTime nowtime=QDateTime::currentDateTime();
qint64 intervalTimeMS = scantime.msecsTo(nowtime);
if(intervalTimeMS<200) return; //判断最后输入时间与回车响应的时间间隔,一般扫描枪在0-50ms
dosometing();//此处是你自己定义的功能
});
说明
一般扫描枪在输入数据后执行自带回车时间间隔大概在0-50ms,而人工输入数据再点击回车的时间大概是200ms以上,通过该条件即可屏蔽扫描枪自带的回车功能。