查看: 2067|回复: 2

请教array老师或其他老师关于osgEarth::QtGui::ViewerWidget

[复制链接]

该用户从未签到

发表于 2012-7-7 11:27:08 | 显示全部楼层 |阅读模式
linux下qt环境,代码如下:

/********************************/
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    osg::Node* earthNode = osgDB::readNodeFile("/gdal_tiff.earth");
    if (!earthNode)
    {
        std::cout<< "Unable to load earth model." <<std::endl;
        return 0;
    }
    osg::Group* root = new osg::Group();
    root->addChild(earthNode);

    osgEarth:tGui::ViewerWidget* viewerWindow = new osgEarth::QtGui::ViewerWidget(root);
    viewerWindow->setCameraManipulator(new osgEarth::Util::EarthManipulator);
    QMainWindow* mw = new QMainWindow();
    QMdiArea* mdiArea = new QMdiArea(mw);
    mw->setCentralWidget(mdiArea);
    QMdiSubWindow *subWindow = mdiArea->addSubWindow(viewerWindow);

    subWindow->resize(600, 400);
    subWindow->show();
    subWindow->setWindowTitle("New Window");
    mw->showMaximized();
    a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );

    return a.exec();
}
/********************************/

拖动子窗口的边界,改变其大小,一动就崩溃,请问各位老师是什么原因?
程序崩溃时,控制台输出为:

/********************************/
xcb_io.c: 176: process_response: 断言"!(req && current_request && !(((long) (req->sequence) - (long) (current_request)) <= 0)"失败
/********************************/

该用户从未签到

发表于 2012-7-9 08:00:38 | 显示全部楼层
判断不出来什么

该用户从未签到

 楼主| 发表于 2012-7-9 10:07:19 | 显示全部楼层
已经解决了,设置viewerWindow为单线程模式即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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