基于 Qt Quick + websocket 的 Web 扫描仪驱动开发

基于 Qt Quick+websocket 的Web扫描仪驱动开发

核心需求

  1. 在浏览器中点击扫描按钮,驱动扫描仪进行扫描,接收图片保存到ftp指定路径。
  2. 支持扫描仪参数设置
  3. 出现异常时可重置恢复
  4. 支持单次扫描接收单张或多张图像

解决方案

  1. 使用Qt 开发基于 TWAIN 的扫描仪应用(Web扫描服务),通过 websocket 与浏览器实时通信。
  2. 浏览器网页上点击扫描按钮,自动检测扫描服务是否启动,可打开已安装的 Web扫描服务应用。
  3. 进入扫描页面时自动连接扫描服务,断开后自动重连。
  4. 应用默认最小化到托盘。
  5. 使用 Inno Setup 进行安装包制作。

遇到的坑

  1. C++ 编译、QtCreator 慢。
  2. QML 与 C++ 通信,通过 engine.rootContext()->setContextProperty()注入qml, 在 qml中通过 Connections {target: scanner... onXXSignal 接收C++信号。
  3. TWAIN 协议,状态控制1-7、接收多图像(可撤销)
  4. 更换电脑安装无法启动(无报错,通过 qInstallMessageHandler()将日志输出到文件,看到报错原因为:qml相关组件未安装。方案:使用 windeployqt 获取动态库时添加 --qmldir 参数)
  5. 乱码 … …

你可能感兴趣的:(编程语言,qt,websocket,前端)