Qt安装
注意,没有Qt账号请在电脑断网情况下安装。(安装时间较长)
- 运行qt-opensource-windows-x86-5.14.2.exe,点击next,我的安装路径为
C:\Qt\Qt5.14.2
,这里选择组件MSVC 2017 32-bit和MSVC 2017 64-bit
- 勾选许可协议,点击下一步->安装即可。
VS Qt插件
打开VS2019,点击扩展->管理拓展->联机->搜索Qt,下载并安装。安装完成后需要重启VS。注意关闭Qt插件的自动更新功能。
配置Qt插件
进人VS2019后,在扩展下面选择Qt VS Tools->Qt Options,然后进行qt配置:
选择Qt安装目录下路径 “C:\Qt\Qt5.14.2\5.14.2\msvc2017_64“即可。
配置包含目录及链接器
VC++目录->包含目录 添加
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include
库目录下添加
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib
链接器->输入->附加依赖项中添加下面项
-
Qt5Widgetsd.lib
-
-
Qt5Widgets.lib
-
-
Qt5Guid.lib
-
-
Qt5Gui.lib
-
-
Qt5Cored.lib
-
-
Qt5Core.lib
添加QT界面
添加UI界面
鼠标右键项目ocr_system,点击添加->新建项,Visual C++->Qt->Qt MainWindow From File,点击添加
配置文件属性
右键点击刚添加的 MainWindow.ui 文件,选择属性,配置和平台为Release和x64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项,界面如下:
- 在命令行输入:
"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"
- 说明输入:
Uic%27ing %(Identity)...
- 输出:
.\GeneratedFiles\ui_%(Filename).h;%(Outputs)
- 附加依赖项:
$(QTDIR)\bin\uic.exe;%(AdditionalInputs)
- 连接对象选择 是
视图->其他窗口->属性管理器,右键ocr_system选项Release | x64添加新项目属性表,这里命名为”PolarNormalCollectorConfigurest.props”
ocr_system->Release | x64->PolarNormalCollectorConfigurest.props->属性->用户宏->添加用户宏 ,名称:QTDIR
,值:C:\Qt\Qt5.14.2\5.14.2\msvc2017_64
编译UI文件
右键ui文件,选择编译,你会发现在路径..\build\GeneratedFiles下生成ui_MainWindow.h文件,右键项目选择添加->现有项->.\GeneratedFiles\ui_MainWindow.h,里面是UI界面控件的定义声明。
右键ui_MainWindow.h,选择属性,配置和平台为Release和x64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项
- 在命令行输入:
"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\moc_%(Filename).cpp"
- 说明 输入:
Moc%27ing %(Identity)...
- 输出:
.\GeneratedFiles\moc_%(Filename).cpp
- 附加依赖项:
$(QTDIR)\bin\moc.exe;%(FullPath)
- 连接对象: 是
右键ui_MainWindow.h,选择编译,你会发现在路径..\build\GeneratedFiles下生成moc_ui_MainWindow.cpp文件,右键项目选择添加->现有项->.\GeneratedFiles\moc_ui_MainWindow.cpp,
添加.h和.cpp文件
右键项目选择添加新建项,我这里添加了PaddleOCR.h和PaddleOCR.cpp,用于Qt界面操作。
同理,PaddleOCR.h也要进行 选择属性,配置和平台为Release和x64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项
- 在命令行输入:
"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\moc_%(Filename).cpp"
- 说明 输入:
Moc%27ing %(Identity)...
- 输出:
.\GeneratedFiles\moc_%(Filename).cpp
- 附加依赖项:
-
$(QTDIR)\bin\moc.exe;%(FullPath)
- 连接对象: 是
右键PaddleOCR.h,选择编译,你会发现在路径..\build\GeneratedFiles下生成moc_ui_MainWindow.cpp文件,右键项目选择添加->现有项->.\GeneratedFiles\moc_PaddleOCR.cpp,
将自动生成的头文件与.cpp文件添加到项目中来,如下图所示
接下来就可以在UI界面添加控件,在PaddleOCR.h和PaddleOCR.cpp中编代码运行程序了。
注意,所有继承QObject的头文件都需要配置moc进行生成可执行文件并添加到项目中,否则的话会如下报错
简单运行测试
这里笔者测试让UI界面运行出来即可
main函数里原来的PaddleOCR识别代码注释掉,在PaddleOCR.cpp文件中进行OCR识别,
-
int main(int argc, char* argv[])
-
{
-
QApplication a(argc, argv);
-
QtOCR w;
-
w.show();
-
return a.exec();
-
}
这里我在另一个VS项目中测试成功,注意在.exe所在文件目录下复制以下dll文件
Qt5Widgetsd.dll
Qt5Guid.dll
Qt5Cored.dll
遇到的问题
双击ui文件打开Qt Designer闪退问题
解决:ui界面右键,进入“打开方式”,找到Qt安装路径下的designer.exe并点击(我的路径为C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\designer.exe
)添加,之后将其设为默认值。