zoukankan      html  css  js  c++  java
  • 网格处理平台学习笔记

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

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

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

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

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

    在GeometryProcessing-1srcApplicationGUIMenuProcessor.h中定义一个名为find_neighbors()函数

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

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

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

    其定义如下:

    在SceneInterface.cpp中实现上述函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    day15---作业
    day14---函数的参数
    day14作业
    day--13函数的基本使用
    day13--函数练习(作业)
    day12--文件处理
    day12--作业
    Python函数对象、函数嵌套和闭包函数
    每日作业以及周末作业
    Python名称空间与作用域
  • 原文地址:https://www.cnblogs.com/scut-linmaojiang/p/4313657.html
Copyright © 2011-2022 走看看