Qt获取激光扫描枪的数据

前言

由于需要通过激光扫描枪扫描条形码,枪是键盘输出模式,用QT编程;

所以只需要通过对键盘输入的处理就行了。

完整源码下载

1.设置扫描枪模式,具体看说明书

我把设置为自动侦测模式,传输速度为-25,语言选择美国。
linux下就可以正常接收到数据。

2.建立QT程序,重载keyPressEvent(QKeyEvent *)

包含头文件#include
在主窗口类中加上 void keyPressEvent(QKeyEvent *);

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void keyPressEvent(QKeyEvent *);

    QString str;

private slots:
    void on_clearButton_clicked();

private:
    Ui::MainWindow *ui;
};



下面实现重载,扫描枪最后一个键值是回车,我检测到我的回车是int型的数据,值为 16777220

void MainWindow::keyPressEvent(QKeyEvent *keyValue)
{
    if(keyValue->key() == 16777220)//enter
    {
        ui->numlineEdit->setText(str);
        str.clear();
    }
    else str += keyValue->text();
}



3.效果截图


扫描一个条码,窗口显示如下:


 


完整源码下载

   

你可能感兴趣的:(linux)