OSGViewer in Qt's TabWidget

OSGViewer in Qt's TabWidget

本文关键字:TabWidget in Qt OSGViewer      更新时间:2023-10-16

我使用的是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)
}

场景图好像搞砸了。有什么想法吗?

使用setMinimumSize:

QWidget* viewerWidget = new MyViewerWidget(new osgViewer::Viewer());
viewerWidget->setMinimumSize( ui->tabWidget->width(), ui->tabWidget->height());