一、关于桌面开发
目前开发桌面软件有不少的平台可供选择,比如c#/wpf、c#/winform、c++/MFC、c++/uwp、Electron、QT、其它语言等等。
前四个是微软的技术路线,个人理解,c#是经过了一层封装,不太需要开发者深入了解win32 api,c++/MFC就需要开发者了解win32 api了,而uwp是基于全新的winrt api了。(C++/WinRT 是 Windows 运行时 (WinRT) API 的完全标准新式 C++17 语言投影,以基于标头文件的库的形式实现,旨在为你提供对新式 Windows API 的一流访问)。
Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。
Qt是完整的跨平台软件开发平台,实现了一套代码可以在所有操作系统、平台和屏幕类型上部署,从台式机、嵌入式系统到可穿戴设备、移动设备。
这里其它语言我的意思是指比如Java、Python等等,有人用它们开发桌面软件么?有但不多(QT也支持使用python语言开发)。
所以从我个人观点来看,第一、Electron走的是完全不同的技术路线,是一种流行的趋势,值得花时间了解。第二、微软的技术和QT从根上看很相似,封装后给开发者提供开发框架。第三、通常情况下使用其它语言进行桌面开发就相对少一点。
虽然微软的跨平台开发和QT很相似,但是相对来讲QT对于新手更友好一点。
二、教程主要面向对象
本教程适合对于QT零基础的读者。但更适合有一些c++编程基础,同时想要了解QT开发入门、相关流程等的读者。
不过在本教程里面会尽量把涉及的方方面面都啰嗦到。
再任何一个领域内成为专家都很难,都需要数年甚至数十年的时间,但是入门并进行实际应用不需要那么久。这就需要程序员有快速的学习能力,并且随着专业经验的增长,学习速度应该自然而然的更快,因为绝大多数的语言/平台/框架虽然语法/模块等不一样,但是根本思路都差不多。
我个人崇尚边干边学的方式,定一个目标,然后一个问题一个问题解决,最终达到既定目标,这样是更好的学习方式。
所以这里不会像很多基础教程一样,把QT的各个模块等都讲个遍,那样不如去看QT官网教程。
三、教程主要实现目标
本教程的目标是让读者几天之内能就能快速了解QT项目创建、项目结构、一些基础控件、引用第三方库、线程基础等知识。
另外分享一下以目标为导向进行快速软件开发的思路以供读者借鉴。
最后个人的目的,套用山丘中的一歌词,"说不定我一生涓滴意念,侥幸汇成河",就是想用来梳理一些知识另外看看能不能整合一个实用的小工具软件。
四、工具软件主要功能
1、基于第三方库实现OCR识别
5、关于线程的使用。
6、屏幕截图/图像展示自定义控件/文字识别。
7、Pdf读取展示/截图/文字识别。
8、项目打包。
2、想逐步慢慢实现的功能
一些图像处理 / 辅助标注生成等等
ffmpeg音视频处理
一些机器学习/深度学习小demo