Qt是一个跨平台的C++图形用户界面应用程序框架
OpenCV库是一套全面而简洁的计算机视觉算法库,主要由一些C及C++函数和类构成。在Windows平台上开发视觉算法时,Visual Studio IDE无疑是一款强大的工具软件,但是,如果要给我们的OpenCV视觉算法加上漂亮的用户界面,即GUI,将会变得有些麻烦。在Visual Studio中,可以将OpenCV与MFC相结合开发界面,然而,MFC太庞大,且涉及到多线性(Multi-Thread)、先进图形图像显示、跨平台等需求时,使用MFC开发OpenCV算法界面会变得让人抓狂。另一种技术,就是在Visual Studio中,我们在视觉解决方案中可以建立C#工程,通过C#构建界面,这里,Visual Studio自带强大的Blend界面设计工具,那么问题又来了:C#和C++语言体系不同,C#为解释型语言,C++为编译型语言,OpenCV本身为C++代码,二者在代码和数据交互上存在太多麻烦的转换,转换的过程浪费开发时间。
因此,我学习Qt的主要目的即:在Qt中引入OpenCV库,将Qt擅长的界面和OpenCV擅长的视觉算法有机结合起来,从而让我们快速的进行项目的构建和开发。
开发思路:
-
使用VS2013作为开发环境(IDE,也就是写代码的工具);
-
使用OpenCV2.4.10作为图像处理代码库;
-
使用QT5.9用来写gui界面程序;
-
使用cmake建立VS2013的工程,也就是产生.sln文件等。
Qt设计模式-----MVC设计模式
- Model
- View
- Controller
关于MinGW
MinGW (Minimalist GNU For Windows),是将GNU开发工具移植到Win32平台下的产物,是一套Windows上的GNU工具集,用其开发的程序不需要额外的第三方DLL支持就可以直接在Windows上运行。
关于help手册的使用
重点看
- properties
- Signal
- public function
- protected function
- 库函数的调用:功能, 参数, 返回值
小技巧:
- 光标放在需要查找的类或者函数上,按F1半屏显示,再按F1全屏显示
- 有些带参数的函数按F1时没有任何结果的,先填写例如setPixmap(1,2)来占位
- 快捷键①Alt+Enter——快速添加定义; ②F4 头文件和.cpp之间的切换
按照在B站的Qt视频资料讲解顺序列了一下几部分内容,再结合自己的课题展开后续的博客撰写,希望自己坚持走下去.
一、
-
项目文件:(.pro)
-
父窗口和子窗口的区别:控件、部件、构件
-
信号与槽
-
坐标系统
-
内存回收机制 new delete
-
带菜单栏的窗口
-
对话框
二、
-
QtCreator设计器的使用
-
常用控件
-
布局
-
自定义控件
-
常用的事件的处理 (键盘、鼠标)
三、
-
QPainter绘图
-
绘图设备(QPixmap,QImage,QBitmap,QPicture)
-
文件操作(QFile,QFileInfo,QDataStream,QTextStream,QBuffter)
四、
-
TCP编程
-
UDP编程
-
UDP传输图片
-
多线程编程(多任务)
五、
-
数据库编程
以上是我对近期学习的一个回顾吧,学以致用是工程的王道,希望自己能够脱离讲义和视频在实战中不断积累敬仰.