1

在我的 QTabWidget 的每个选项卡中,我都有一个数组。对于每个选项卡,我定义了一个名为“TabView”的类,其中包含该数组和一个 QGraphicsScene,用于在其上绘制线条和其他一些元素。当我打开一个新选项卡时,我通过我的类 TabView 执行此操作,如下所示:

void MainWindow::on_actionOpen_triggered(){
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath());
    if (!fileName.isEmpty()) {

    tabView = new TabView(fileName);

    ui->tabWidget->addTab(tabView,"someTab");

    QFileInfo fileInfo = fileName;
    ui->tabWidget->setTabText(ui->tabWidget->count()-1,fileInfo.baseName());

    ui->tabWidget->setCurrentIndex(ui->tabWidget->count()-1);
}

QTabWidget外面有一个按钮。我想通过单击此按钮将每个选项卡上的每个数组存储在 2D 数组中。但我只是访问最后打开的选项卡数组。

tabsArray[index] = tabView->getArray();

我需要这样的东西:

tabWidget->tab(index)->getArray()

任何想法都非常感谢。谢谢你。

4

1 回答 1

1

用于QTabView::currentWidget()获取您的活动标签。将其转换为TabView,并使用您的getArray()函数访问数组。像这样:

TabView *active_tab = qobject_cast<TabView*>(ui->tabWidget->currentWidget());
if(active_tab)
    tabsArray[index] = active_tab->getArray();
于 2013-08-02T07:55:44.543 回答