osgQOpenGLWidget已经做了对键盘事件的解析。嵌入QT后键盘没反应,osgQOpenGLWidget没有获取到键盘焦点,调用setFocus()函数即可,如下示例:
ui.setupUi(this);
QHBoxLayout* hboxLayout = new QHBoxLayout(this);
osgQOpenGLWidget *pOsgW = new osgQOpenGLWidget;
hboxLayout->addWidget(pOsgW);
hboxLayout->setMargin(0); //左右边距设置为0
QWidget* widget = new QWidget();
widget->setLayout(hboxLayout);
this->setCentralWidget(widget);
pOsgW->setFocus();
connect(pOsgW, SIGNAL(initialized()), this, SLOT(initOsg()));