目标:学习《OpenCV3和Qt5 计算机视觉应用开发》,记录总结学习过程。
第2章 创建第一个Qt+OpenCV项目
学习总结1,信号与槽机制。2,Qt对象树机制实现自动内存管理。3,问题:程序异常结束。OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite_, file /home/bob/work/res/opencv-3.3.0/modules/imgcodecs/src/loadsave.cpp, line 604
terminate called after throwing an instance of 'cv::Exception'
what(): /home/bob/work/res/opencv-3.3.0/modules/imgcodecs/src/loadsave.cpp:604: error: (-2) could not find a writer for the specified extension in function imwrite_
程序异常结束。
解决方法:输入完整文件名如果如下输入,则会报错如果输入完整文件名,则正常运行第3章 创建完整的Qt+OpenCV项目
学习总结
1,模块化方式构建应用程序。2,样式表、多语言、插件。创建插件,要先创建接口,接口就是只包含纯虚函数的类。
插件类要继承自该接口。插件类存储在共享库中,可在应用程序运行时进行加载。
1,定义一组接口(只有纯虚函数的抽象类),使用Q_DECLARE_INTERFACE()宏在Qt元对象系统中注册该接口;
2,定义一个插件类,需要同时继承自QObject类和该插件所提供功能对应的接口类;
使用Q_PLUGIN_METADATA()宏导出该插件;
使用Q_INTERFACES()宏在Qt的元对象系统中注册该接口;
3,修改.pro文件构建该插件
CONFIG += plugin
4,生成插件库文件
通过插件进行扩展程序功能要进行以下几步:
1,在应用程序中使用QPluginLoader来加载插件;
2,使用qobject_cast()来测试插件是否实现给定的接口;
3,问题:Linux系统中程序菜单栏不显示,全局放大后可显示菜单栏。解决方法:更改Linux 界面的设置,可正常显示。系统设置->外观->行为->显示窗口菜单,默认为“在菜单栏”,修改为“在窗口的标题栏”
练习代码https://download.csdn.net/download/VistaTech/89017940?spm=1001.2014.3001.5503
标签:插件,Qt5,Qt,OpenCV,接口,OpenCV3,笔记 From: https://www.cnblogs.com/pudding-plus/p/18138953