zoukankan      html  css  js  c++  java
  • 1)OSG与QT单文档视图的结合

    osgQT.lib缺失,需要单独编译,编译时出现了很多问题,后来没解决,就放弃了。

    在网上看到一篇很好的博文,http://yrcpp.blog.163.com/blog/static/1260452592014102341533496/        下载了他的源码,研究了一下。

    直接提供了包含了osgQT中的一个类GraphicsWindowQt,所以就不用编译osgQT了,也算偷了懒。

    现对在QT界面中嵌入osg的方法总结如下:

    0   MyOSGQT为qt界面类;OsgViewerWidget类;GraphicsWindowQt类

    1   MyOSGQT类中是对窗体的定义。

         包括控件QWidgt,此控件的类提升为OsgViewerWidget,用于加载osgview。

         信号槽,控件QWidgt接收,调用OsgViewerWidget::openFile()函数

    2   OsgViewerWidget

         该类继承了osgView::Viewer和osgQt::GLWidget。其中osgQt::GLWidget来自GraphicsWindowQt类

      构造函数中定义了图形设备类,表达一个图形窗口,并设置了操纵器、相机、事件处理               

      void paintEvent( QPaintEvent* event )方法,实现连续刷新

        void resizeEvent( QResizeEvent* event )方法,实现在窗口大小变化时,设置viewport和camera投影矩阵?

        void openFile()  打开osg模型

    3  main

       调用qt窗体。

    main调用MyOSGQT,MyOSGQT调用ui_MyOSGQT,ui_MyOSGQT调用OsgViewerWidget,OsgViewerWidget调用GraphicsWindowQt。

    qt界面布局的设计需要另外学习

    QWidget是应用程序的主窗口

    布局管理器:  QHBoxLayout在水平方向上排列窗口部件,从左到右

                            QVBoxLayout在竖直方向上排列窗口部件,从上到下

                            QGridLayout把窗口部件排列在一个网格中

    水平和垂直的布局大致懂了,但是splitter还是不明白是怎么建立的

  • 相关阅读:
    动态规划-1维消消乐
    矩阵求幂-倍加算法
    动态规划-匹配问题
    动态规划-最短回文串
    动态规划-最长回文子串
    动态规划-矩形嵌套
    动态规划-硬币找零
    windows 2003最完善最完美的权限及安全设置解决方案【转】
    python模块之email: 电子邮件编码
    word页面设置问题。通过域设置首页不计算页面的自定义页码格式
  • 原文地址:https://www.cnblogs.com/hanmolabi/p/7309923.html
Copyright © 2011-2022 走看看