码迷,mamicode.com
首页 > 其他好文 > 详细

网格处理平台学习笔记

时间:2015-03-04 18:28:08      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

    在解决方案文件夹下有一个src文件夹,里面是各个项目的源代码。进入ApplicatinGUI文件夹(整个路径为GeometryProcessing-1\src\ApplicationGUI)可以看到有很多以.ui为后缀的文件,这些文件就是UI设计文件。在安装了qt的电脑上双击可打开。如下图为主窗口:

技术分享

 

为了添加自己的代码,在菜单栏新加入了一个菜单MyTest,并为其添加子菜单find_neighbors

技术分享 技术分享

 

在\GeometryProcessing-1\src\ApplicationGUI\GeneratedFiles\ui_geometryMainWindow.h,下会自动(不记得是不是自己添加的了。。)注册刚刚的按钮

技术分享

也就是代码中,action_Find_neighbors就是我们刚刚的Find_neighbors按钮的名称

 

我们在\GeometryProcessing-1\src\ApplicationGUI\MenuProcessor.cpp中为按钮设置监听事件,将名为find_neighbors()函数作为点击按钮后的处理函数

技术分享

 

在\GeometryProcessing-1\src\ApplicationGUI\MenuProcessor.h中定义一个名为find_neighbors()函数

技术分享

在MenuProcessor.cpp文件中实现该函数

技术分享

在上述实现函数中,我们调用了一个同样名为find_neighbors的函数(这个函数声明在 GeometryProcess\SceneInterface\SceneInterface.h中,

名字可以自己定义,但是为了规范,可以和菜单处理cpp中命名保持一致。

其定义如下:

技术分享

 

在SceneInterface.cpp中实现上述函数

 

同样,我们又调用了一个和发起调用的函数同名的函数,但是这个被调用的函数的声明是在我们自己添加的项目中的

技术分享

完成类的编写后,更新这个函数体如下

技术分享

需要注意的是,需要在SceneInterface.h头文件中包含TestMyProject.h

 

接下来,在VS解决方案中添加自己的项目,即在已有的解决方案中创建新的项目,具体操作如下图,注意规范项目的放置位置

同时注意项目的属性,如果建立的是一个空项目,则最后会出现一些链接的问题。正确的建立方式如下

技术分享

技术分享 技术分享

 

下面就可以为自己的项目添加代码了。

头文件内容如下,定义我们调用最底层的函数

技术分享

 

在对应的.cpp文件中实现头文件中定义的函数

技术分享

 

在ApplicationGUI设置为启动项目的前提下,右键点击ApplicationGUI项目,选择属性,依次点击"框架和引用" à "添加新引用"

技术分享

 

技术分享

 

然后可以看到添加后的引用比没添加之前多了一项。

技术分享

 

重新生成解决方案时,出错,错误提示:找不到GeometryProcessing-1\src\qtpropertybrowser-2.5_1-opensource\qtproptybrowser.lib,这是将qtpropertybrowser项目转换为qt add-in project,再生成这个工程,之后就可以生成整个解决方案了。

技术分享

 

此外,运行这个工程最后调出的是一个窗口,其设置是在启动工程下的属性中设置的,如果要调出控制台,则可以更改"子系统"设置

技术分享

 

技术分享

 

比如,我们希望打开一个模型后,点击MyTest下的Find_Neighbors按钮后,程序在控制台输出一个hello world。

技术分享

 

至此完成了从建立按钮到处理按钮对应事件的整个流程。

网格处理平台学习笔记

标签:

原文地址:http://www.cnblogs.com/scut-linmaojiang/p/4313657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!