vs中结合Qt的UI文件生成moc文件的方法

3 篇文章 0 订阅

前言:一点关于moc的小知识

Qt是一个跨平台的可提供用户界面的应用程序开发框架,用于开发图形用户界面(GUI)或非图形用户界面。Qt使用标准的C++扩展包括信号与插槽,是面向对象的框架,可生成特殊的元对象编译器(Meta Object Compiler,moc)易于扩展并且允许组件编程。

那么问题来了,怎么样在设计好UI后生成可应用可编译的moc呢?

step1

在解决方案资源管理器中,选中UI文件,右键编译,会生成ui_xxx.h。

step2

新建xxx.h头文件,像这样,注意文件名的一致性。

#ifndef FEATURESELECT_H
#define FEATURESELECT_H

#include <QWidget>
#include <QDialog>
#include <QtWidgets/QMainWindow>

#include <QMouseEvent>
#include <QtGui>
#include "ui_FeatureSelect.h"

class FeatureSelect : public QDialog
{
	Q_OBJECT

public:
	FeatureSelect(QWidget *parent = 0);
	~FeatureSelect();
private:
	Ui::FeatureSelect ui;


	public slots:
};

#endif // NORMALESTIMATE_H

step3

选中step2中新建的xxx.h文件,右键属性->配置属性->自定义生成工具->常规

根据自己实际情况修改命令行内容,如下:

"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB  "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-ID:\Python34\include" "-I$(ProjectDir)\." "-I$(PCL_ROOT)\include\pcl-1.8" "-I$(PCL_ROOT)\3rdParty\Boost\include\boost-1_59" "-I$(PCL_ROOT)\3rdParty\Eigen\eigen3" "-I$(PCL_ROOT)\3rdParty\FLANN\include" "-I$(PCL_ROOT)\3rdParty\OpenNI2\Include" "-I$(PCL_ROOT)\3rdParty\Qhull\include" "-I$(PCL_ROOT)\3rdParty\VTK\include\vtk-7.0"
根据自己实际情况修改说明内容,如下:

Moc%27ing pclvisualizer.h...
修改输出内容,如下:

.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp

修改附加依赖项内容,如下:

$(QTDIR)\bin\moc.exe;%(FullPath)
最终得到如图:

step3

最后选中xxx.h,右键编译,即得到moc文件~


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值