VS2019现有项目添加Qt界面

Qt安装

注意,没有Qt账号请在电脑断网情况下安装。(安装时间较长)

  • 运行qt-opensource-windows-x86-5.14.2.exe,点击next,我的安装路径为C:\Qt\Qt5.14.2,这里选择组件MSVC 2017 32-bitMSVC 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

链接器->输入->附加依赖项中添加下面项

  1. Qt5Widgetsd.lib
  2. Qt5Widgets.lib
  3. Qt5Guid.lib
  4. Qt5Gui.lib
  5. Qt5Cored.lib
  6. Qt5Core.lib

添加QT界面

添加UI界面

鼠标右键项目ocr_system,点击添加->新建项,Visual C++->Qt->Qt MainWindow From File,点击添加

配置文件属性

右键点击刚添加的 MainWindow.ui 文件,选择属性,配置和平台为Releasex64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项,界面如下:

  • 命令行输入:
"$(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,选择属性,配置和平台为Releasex64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项

  • 命令行输入:
"$(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也要进行 选择属性,配置和平台为Releasex64,项类型选择自定义生成工具,点击应用,左侧会生成自定义生成工具选项

  • 命令行输入:
    "$(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识别,

  1. int main(int argc, char* argv[])
  2. {
  3. QApplication a(argc, argv);
  4. QtOCR w;
  5. w.show();
  6. return a.exec();
  7. }

这里我在另一个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)添加,之后将其设为默认值。

赞(0)
未经允许不得转载:大象juǎn » VS2019现有项目添加Qt界面