查看: 1464|回复: 4

怎样用代码退出osgviewer

[复制链接]

该用户从未签到

发表于 2010-6-30 19:19:04 | 显示全部楼层 |阅读模式
本帖最后由 Ak00002 于 2010-6-30 19:20 编辑

我最近在用OSG做实时场景图,但在调用osgviewer查看场景图后,发现按Esc键无法从场景中退出。无法返回程序主界面。

我操作环境为: Windows XP SP3
                   VC++.net 2005
                   QT 4.10
                   Opencv 1.1
                   OSG 2.83

请高人指点,该怎样写代码,当按下Esc键后,osgviewer能退出。非常感谢。

该用户从未签到

发表于 2010-7-1 08:44:35 | 显示全部楼层
您可以参考osgviewerQt中的方式,把Qt的键盘事件映射到OSG当中来

该用户从未签到

 楼主| 发表于 2010-9-29 06:35:09 | 显示全部楼层
还是感谢array。
这个问题我后来也已经解决了,我记得我当时在帖子后边附加上了,我的解决办法,可今天来没有了。为了其他的朋友遇上同样的问题时能顺利通过,在此,我再次贴上我的解决办法。办法很简单,却花了我很多时间。只需在执行Osgviewer后,调用析构函数即可。便可解决按下Ese键无法关闭osgviewer的问题。

Viewer->run();
Viewer->~viewer(); (析构函数)

该用户从未签到

发表于 2010-9-29 09:24:01 | 显示全部楼层
Viewer->~viewer();
我从来没见过这样怪诞的解决方案……我想您要做的应当是释放或者由系统自动释放viewer对象,这样的做法绝不可取

该用户从未签到

 楼主| 发表于 2010-9-29 14:35:03 | 显示全部楼层
析构函数包含了对函数的清理和所占用的内存的释放。这个程序已经在没有安装osg的电脑上运行了很久了。没有任何问题。但确实通常情况析构函数应该由系统自动调用,但只要用在代码的最尾端是没有问题的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表