如果你有需求是这样的:目前在做的项目是纯VC项目或MFC项目,但是现在想在项目中使用Qt。
本例可能帮到你。
尽管我们可以自己将Qt的库和头文件包含进项目以便使用Qt相关的东西但是在涉及到生成moc文件或ui_xxx.h文件和其他qt相关的资源处理时就会很复杂(也可以通过手动去完成比如customer-build-tools等,但是效率实在是太慢了还容易出错)。因为不是Qt-addin的话我们的插件是不起作用的,就像这样:
那么为什么不考虑吧VC项目或者是MFC直接转成Qt-addin项目呢?这样之后项目就像一开始就是Qt项目一样。
那么我们看看怎么操作(先装Qt-addin插件,我的示例中就不举例这个步骤了各位都会)。
1.先创建一个MFC项目并卸载项目(也就是你需要转为Qt-addin的项目)
2.再起一个VS新建一个Qt项目并卸载项目
3.编辑MFC项目和QT项目
4.我们在两个项目中都找到“<PropertyGroup Label="Globals">” 这个标签并替换信息:
在MFC项目中:
<PropertyGroup Label="Globals">
<ProjectGuid>{E4A4753C-00E2-46FF-A3AD-4F7D1B77B916}</ProjectGuid>
<RootNamespace>MFC_PROJECT</RootNamespace>
<Keyword>MFCProj</Keyword>
</PropertyGroup>
在Qt项目中:
<PropertyGroup Label="Globals">
<ProjectGuid>{FBC06507-4C6E-4D7C-BE7B-EA2583CE6071}</ProjectGuid>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
我们把MFC项目中的Keyword标签全部删除,然后把Qt项目中的Keyword标签复制过去。
结果(MFC项目中):
<PropertyGroup Label="Globals">
<ProjectGuid>{E4A4753C-00E2-46FF-A3AD-4F7D1B77B916}</ProjectGuid>
<RootNamespace>MFC_PROJECT</RootNamespace>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
保存。
5.重新加载MFC项目,并用Qt-Addin转为Qt-Addin项目
这个时候你的工程就是Qt项目了,和你一开始就创的那个Qt项目是一样的,可以方便的生成moc、编译Ui文件、qrc文件等,不用每次都手动去处理这些繁琐的工作了!
让我们看看Qt-addin可用了没:
完全可以用,目前这个MFC项目就成为Qt-Addin项目了,能方便的使用qt的内容。