IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Slicer学习笔记(三十)slicer编写c++扩展 -> 正文阅读

[C++知识库]Slicer学习笔记(三十)slicer编写c++扩展

Slicer学习笔记(三十)slicer编写c++扩展

1、c++扩展模块 CMake文件

准备操作,参考我的笔记十 Slicer学习笔记(十)怎样写一个slicer c++ 扩展模块 和笔记十二 Slicer学习笔记(十二)编写扩展模块

cmake_minimum_required(VERSION 3.13.4)

project(cpp_regist_seg)

#-----------------------------------------------------------------------------
# Extension meta-information
set(EXTENSION_HOMEPAGE "https://www.slicer.org/wiki/Documentation/Nightly/Extensions/cpp_regist_seg")
set(EXTENSION_CATEGORY "Examples")
set(EXTENSION_CONTRIBUTORS "wmz (AnyWare Corp.)")
set(EXTENSION_DESCRIPTION "This is an example of a simple extension")
set(EXTENSION_ICONURL "http://www.example.com/Slicer/Extensions/cpp_regist_seg.png")
set(EXTENSION_SCREENSHOTURLS "http://www.example.com/Slicer/Extensions/cpp_regist_seg/Screenshots/1.png")
set(EXTENSION_DEPENDS "NA") # Specified as a list or "NA" if no dependencies

#-----------------------------------------------------------------------------
# Extension dependencies
set(Slicer_DIR F:/Slicer/Slicer-build) # add wmz
find_package(Slicer REQUIRED)
include(${Slicer_USE_FILE})

#-----------------------------------------------------------------------------
# Extension modules
add_subdirectory(cpp_regist_seg)
## NEXT_MODULE

#-----------------------------------------------------------------------------
include(${Slicer_EXTENSION_GENERATE_CONFIG})
include(${Slicer_EXTENSION_CPACK})

正常生成的文件的CMakeLists.txt 不包含下面一行,是我添加进去的。

set(Slicer_DIR F:/Slicer/Slicer-build) # add wmz

2、程序执行

然后生成visual studio项目, 编译后生成exe可执行文件,直接双击闪退,提示信息如下:

SlicerWithcpp_regist_seg.exe 
error: Application does NOT exists [D:/documents/slicer/cpp_regist_seg/build/F:/Slicer/Slicer-build/./Slicer.exe]
Usage
  SlicerWithcpp_regist_seg [options]

Options
  --launcher-help                                 Display help
  --launcher-version                              Show launcher version information
  --launcher-verbose                              Verbose mode
  --launch                                        Specify the application to launch
  --launcher-detach                               Launcher will NOT wait for the application to finish
  --launcher-no-splash                            Hide launcher splash
  --launcher-timeout                              Specify the time in second before the launcher kills the application. -1 means no timeout (default: -1)
  --launcher-load-environment                     Specify the saved environment to load.
  --launcher-dump-environment                     Launcher will print environment variables to be set, then exit
  --launcher-show-set-environment-commands        Launcher will print commands suitable for setting the parent environment (i.e. using 'eval' in a POSIX shell), then exit
  --launcher-additional-settings                  Additional settings file to consider
  --launcher-additional-settings-exclude-groups   Comma separated list of settings groups that should NOT be overwritten by values in User and Additional settings. For example: General,Application,ExtraApplicationToLaunch
  --launcher-ignore-user-additional-settings      Ignore additional user settings
  --launcher-generate-exec-wrapper-script         Generate executable wrapper script allowing to set the environment
  --launcher-generate-template                    Generate an example of setting file
  • 提示信息说明了不能直接启动的原因是没有找到Slicer.exe文件,(这个可以有其他办法解决无法找到启动文件的问题)。
  • 同时也提供了命令行启动的方式,使用如下方式可以启动程序:
SlicerWithcpp_regist_seg.exe --launch F:/Slicer/Slicer-build/./Slicer.exe

启动后可以从下面箭头所示的位置打开自己的c++扩展程序
在这里插入图片描述
默认的界面如下图所示:
在这里插入图片描述

3、编辑UI

项目的UI文件在这里:
在这里插入图片描述
设置UI的打开方式
参考:Documentation/Nightly/Developers/Tutorials/QtDesigner

在这里插入图片描述
在VS项目中,右键UI文件,选择“打开方式”,编辑打开方式。
在这里插入图片描述
选择“添加”
在这里插入图片描述
填上相应的内容并点击“确定”按钮。
其中“程序”路径在不同人的电脑上可能略有差异,使用“everything”软件搜一下自己安装的Slicer.exe软件所在位置,填进去就可以了。
在这里插入图片描述
然后就可以打开ui文件了,打开后显示如下:
在这里插入图片描述
小控件在Widget文件夹下的ui文件
在这里插入图片描述

4、 编辑代码

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:12:41  更:2021-11-20 18:13:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:46:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码