环境:
- 操作系统:x86,ubuntu20.04。
- osgEarth 2.10。
- osg3.6.4.
以LabelControl控件为例:
划重点:利用osgText解决中文显示问题
具体的做法:
(一)pro文件添加osgText的引入。
注意,引用目录根据自己的实际情况填写。
unix:!macx: LIBS += -L$$PWD/../../osg/osg_osgearth_install/osg/lib/ -losgText
(二)生成控件并显示中文
#include <osgEarthUtil/Controls>
osgEarth::Util::Controls::LabelControl* m_pviewCoords = new osgEarth::Util::Controls::LabelControl("测试",osg::Vec4(1.0,1.0,1.0,1.0));
m_pviewCoords->setEncoding(osgText::String::ENCODING_UTF8);//这个必须加,不然是中文乱码
m_pviewCoords->setFont(osgText::readFontFile("simsun.ttc"));//必须加,这个设置了中文的字体