osgWidget.NullWidget类是OpenSceneGraph osgWidget库中的一个小部件,它可以作为组合其他小部件的容器,但是它本身不渲染图形,因此在场景中不可见。
NullWidget()
:创建一个osgWidget.NullWidget对象。osgWidget.NullWidget类没有特有的方法,但是它可以继承父类osgWidget.Widget的方法,包括:
void addChild(Widget* widget)
:将一个子小部件添加到当前小部件中。void removeChild(Widget* widget, bool autoRelease=false)
:从当前小部件中移除一个子小部件。void clearChildren(bool autoRelease=false)
:从当前小部件中移除所有子小部件。#include <osgWidget/NullWidget>
#include <osgWidget/WindowManager>
#include <osgWidget/Label>
int main()
{
// 创建一个窗口管理器
osgWidget::WindowManager* wm = new osgWidget::WindowManager(
0, 1280, 0, 720, "MyApplication", false);
// 创建一个osgWidget.NullWidget作为父容器
osgWidget::NullWidget* root = new osgWidget::NullWidget();
wm->addChild(root);
// 创建一个Label作为子小部件
osgWidget::Label* label = new osgWidget::Label("Hello World!");
root->addChild(label);
// 运行窗口管理器
wm->realize();
wm->run();
}
以上示例中,创建了一个osgWidget.NullWidget作为根容器,并向其中添加了一个Label小部件作为子小部件。在运行窗口管理器的过程中,Label将被渲染在窗口中。