基于 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 Quick+websocket 的Web扫描仪驱动开发相关推荐

  1. 基于目标追踪算法、web、gui开发的程序,可实时监控画面、检测目标、监听电脑配置

    基于目标追踪算法.web.gui开发的程序,可实时监控画面.检测目标.监听电脑配置,此项目由软件+网页设计而成,请看项目展示.

  2. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  3. 技术干货 | 基于 Qt Quick Plugin 快速构建桌面端跨平台组件

    导读:桌面端的 UI 开发框架对比移动端.Web 端的成熟方案,一直处于不温不火的状态.随着疫情掀起的风波,桌面端在线教育.视频会议等需求不断涌现.本文将围绕 Qt Quick 的优势来介绍如何快速创 ...

  4. 7.QML Qt Quick——基于Qt Quick Controls 2实现图片浏览器

    Qt Quick Controls 2提供了一组UI控件,例如按钮,标签,复选框,滑块等(用之查之即可).用于在Qt Quick中创建用户界面.UI控件很多,这里通过一个图片浏览器的实现来逐步讲解 图 ...

  5. Qt Quick 示例 - StocQt股票趋势图开发

    Qt quick演示-StocQt Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用.而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia ...

  6. 基于DM642 RAW采集格式的视频驱动开发及应用

    摘 要:为解决C64X系列数字信号处理器(DSP)视频驱动不能应用于原始数据格式(RAW)采集格式的问题,设计了DM642和电耦合元件(CCD)高清传感器的数据传输接口,并分析.修改用于标准格式的视频 ...

  7. 基于Qt上USBCAN模块的二次开发

    最近用qt做了一个USBCAN二次开发的上位机软件.经过本人实际测试,效果不错,界面和官方的软件类似.做此软件的目的主要是学会调用该模块的二次开发库, 采集数据时也就可以将数据进行简单的处理,这样调试 ...

  8. 基于Cortex-A7架构的嵌入式linux ARM驱动开发<1>——字符设备驱动开发

    一.什么是字符设备 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的.比如我们最常见的点灯.按键.IIC.SPI, L ...

  9. [源码和文档分享]基于Netty和WebSocket的Web聊天室

    一.背景 伴随着Internet的发展与宽带技术的普及,人们可以通过Internet交换动态数据,展示新产品,与人进行沟通并进行电子商务贸易.作为构成网站的重要组成部分,留言管理系统为人们的交流提供了 ...

最新文章

  1. Tools.Png.Compression
  2. java文件流 m.jb51.net_Linux指令范例速查手册(第2版)PDF 下载
  3. zabbix3.0.4通过jmx监控tomcat
  4. 第五章:配置使用FastJson返回Json视图
  5. HDU-1251 统计难题 map写法
  6. go 写文件_「go」 项目多个文件编程
  7. linux fpga 开发板,香蕉派BPI-F2S ,四核Linux工业级应用的开源硬件开发板,FPGA教学套装...
  8. matlab两个数组竖向叠加,matlab - 过滤器同时使用两个数组中的元素 - 堆栈内存溢出...
  9. go和python组合开发_Go+Python双语言混合开发
  10. linux支持ext2格式吗,linux正统标准文件系统ext2详解
  11. 大小写字母的ASCII的对照转换
  12. 沧小海读《图解TCP/IP》笔记——第四章 IP协议
  13. 2.5 C语言入职例程二:指针
  14. python socket基于TCP/IP协议实现多人聊天室
  15. 计算机网络 - linux - 配置静态ip地址(NAT模式)
  16. 南都周刊:别了,老兵乔布斯
  17. UNITY 使用代码更换地形中草的贴图
  18. OpenHarmony开发资料归档
  19. 30套免费的响应式 HTML5 CSS3 模板下载
  20. 解决Tuxera试用过期重装问题

热门文章

  1. 第7.21节 Python抽象类—register注册虚拟子类
  2. python视频教程集合
  3. 在没有个人/公司网站的情况下,如何利用同一个二维码自动识别手机系统(Android/IOS)跳转不同下载页面
  4. Linux下Python脚本的编写(二)
  5. Postman与ApiPost比较区别
  6. C 语言 System 设置背景色和前景颜色
  7. kali2020 vnc安装,在Kali Linux 2020.x上安装和卸载VLC媒体播放器的方法
  8. jQuery五彩炫酷模拟键盘 带键盘敲击声音
  9. 数电4_2——常用的组合逻辑电路(1)编码器
  10. pairproject总结和结果