• Qt+STK项目配置


    本次主要借鉴了很多前人的例子加以总结完成,主要参考连接有:QT5-STK二次开发实例

    本次使用版本介绍
    Qt5
    STK11.6(64)
    Qt 编译器MSVC 2015

    STK是由美国Analytical Graphics公司开发的一款在航天领域处于领先地位的商业分析软件。

    QT的一套跨平台的C++图形用户界面库,上手简单,功能强大,是目前GUI开发者广泛使用的C++图形库。这篇文章主要介绍使用QT进行STK二次开发过程中的STK接口的配置实例。STK是由美国Analytical Graphics公司开发的一款航天商业分析软件,本身支持C,C++,Java,Matlab等多种语言的二次开发。下面介绍在QT Creator中利用axWidgets显示STK三维场景简单例子,因为在整个二次开发中STK的类实例只能有一个,所以下面的例子中STK类是一个单例模式。

    1.环境依赖

    需要正确安装好STK(我安装的是STK11.6,其他版本应该类似),在C:\Program Files\AGI\STK 11\CodeSamples 目录下面有一个压缩包CodeSamples.zip,在这个压缩包里面有stk调用的例子,c++,java,Csharp,matlab等语言的都有。可以打开对应版本功能,我这里打开的是vs2017的,这里给的例子是MFC的,可以根据这个改写Qt的代码。

    2.运行vs例子程序 

    我这里运行出来MFC的例子程序如图,注意选择对应的版本和项目。

    3.拷贝依赖文件

    对于编写Qt而言,我们需要将如下文件添加到自己的Qt 程序中去

     4.Qt编程

    这一块可以参考上面的连接,或者MFC的例子程序,这里不做赘述。或者也可以下载我上传的例子。

    遇到的问题:我这里是STK11引用,#include "AgStkObjects.tlh"这里会报错,需要在这前面加上
    #include "AgStkGraphics.tlh"头文件,如图所示。

    1. #include "AgStkUtil.tlh"
    2. using namespace STKUtil;//引用相应命名空间
    3. #include "AgVGT.tlh"
    4. #include "AgStkGraphics.tlh"//加上这个就不会报错了
    5. #include "AgStkObjects.tlh"
    6. using namespace STKObjects;
    7. #include "STKX.tlh"
    8. using namespace STKXLib;

     5.界面设置和运行结果

    界面设置,需要QAxWidget选择AGI的控件。但是我这里添加控件没有出现AGI这些控件的选项,也不会添加,有会的同学可以评论指导一下。

    这里写图片描述

     我这里是通过设置guid的方式弄得,先去注册表找到AGI Globe Control 11对应的guid值修改进ui文件中去。

    运行结果如图:

    项目地址:Qt+STK11调用例子-C++文档类资源-CSDN下载

  • 相关阅读:
    华为设备配置BFD单跳检测二层链路
    <图像处理> 空间滤波基础二
    已经有 MESI 协议,为什么还需要 volatile 关键字?
    详解AUTOSAR:AUTOSAR方法论(理论篇—3)
    Vue2显示动态添加表单
    Wi-Fi HaLow:重塑物联网的未来
    汉语言语的声学特点是什么
    IP地址处理攻略:数据库中的存储与转换方法
    Connor学Android - RemoteViews
    Python编程基础:深入理解值类型与引用类型及其在数据处理中的关键作用
  • 原文地址:https://blog.csdn.net/zxl_1996/article/details/126286781