Qt的TabWidget中的OSGViewer

时间:2013-07-24 08:07:12

标签: c++ qt openscenegraph qtabwidget

我正在使用OpenSceneGraph 3.0.1并使用

解决Qt集成问题

osgQt::GLWidget在启动期间将其添加到选项卡控件(在我的主窗口的构造函数内。

MainWindow::MainWindow(QWidget* parent)
    :  QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QWidget* viewerWidget = new MyViewerWidget(new osgViewer::Viewer());

    ui->tabWidget->addTab(viewerWidget, "My Osg View");

    // tab entry was added but nothing to see than empty Osg Window
}

在显示主窗口后从菜单调用代码时可以正常工作:

void gcdrp::MainWindow::on_actionCreate_Simulation_View_triggered()
{
    QWidget* viewerWidget = new MyViewerWidget(new osgViewer::Viewer());

    ui->tabWidget->addTab(viewerWidget, "My Osg View");

    // tab with content is visible (as expected)
}

似乎场景图已经搞砸了。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用setMinimumSize:

QWidget* viewerWidget = new MyViewerWidget(new osgViewer::Viewer());

viewerWidget->setMinimumSize( ui->tabWidget->width(), ui->tabWidget->height());