首页 / 浏览问题 / 组件GIS / 问题详情
C++ 标绘面板加载报错
3EXP 2020年04月10日

您好:

环境是vs2013+Qt1.2.3插件(qt-x86-msvc2013-5.5.0)+iobjectscpp-9.1.1-16828-70590。操作系统:win7 x64

我在加载标绘面板时候报错了,我的代码如下:

    m_pPanelControl = new PanelControl;

	UGString strAppPath = UGFile::GetModulePath(_U("SuGeometry"));

	UGString plotsFolder = strAppPath + _U("Resource/plots/");

	GOToolKit::sm_iconFolder = Translator::UGStr2QStr(plotsFolder);

	UGString strJYLibPath = plotsFolder + _U("JY.plot");
	UGString strTYLibPath = plotsFolder + _U("TY.plot");
	UGString strModelLibPath = plotsFolder + _U("ModelLibrary1.sym");
	int nLibId=0;


	/*QString jy = Translator::UGStr2QStr(strJYLibPath);
	nLibId = m_pPanelControl->AddSymbolLib(jy);
	QString ty = Translator::UGStr2QStr(strTYLibPath);
	nLibId = m_pPanelControl->AddSymbolLib(ty);*/
	
	m_pPanelControl->setMapControl((void*)qMapControl);

	QWidget* propertywidget = m_pPanelControl->NewPropertyPanel(qMapControl->GetUGMapWnd(), false);
	GOPropertyPanel::s_pGOPropertyPanel = (void*)propertywidget;
	
	QWidget* symlistwidget = m_pPanelControl->NewSymbolListPanel(qMapControl->GetUGMapWnd(), false);
	
	QTabWidget *pTab2D = new QTabWidget;
	pTab2D->addTab(symlistwidget, QStringLiteral("符号面板"));
	pTab2D->addTab(propertywidget, QStringLiteral("属性面板"));		
	pTab2D->setTabPosition(QTabWidget::South);
	pTab2D->setCurrentIndex(0);

	QVBoxLayout *LayoutMap = new QVBoxLayout(XWZKjb);
	LayoutMap->addWidget(pTab2D);

报错如下:

我定位了半天,在extensions4Qt中将GOSymbolPanel的InitSymbolTree()注释掉编译可以显示出界面来:

但是这样没有符号了,这个怎么解决呢?求助!

1个回答

工程是你自己写的吗,extensions4Qt也只是产品包里面提供的一小部分封装的示范代码,这个需要具体跟代码看看是初始化标会面板哪里出现问题了,看是否可以将你的工程整理一下发过来这边看看
4,620EXP 2020年04月10日
工程发您了,麻烦您看看,谢谢
收到,有结果后给你说
程老师怎么样啦?
...