我创建了一个 QList<QPair>,用于存储一对子窗口和视图。
windowViewList.append(qMakePair(w, view));
然后 subWindowActivated() 信号用于调用以下函数来更新视图指针。
void MainWindow::updatePointers()
{
QMdiSubWindow *m = mdiArea->activeSubWindow();
foreach (windowViewPair v, windowViewList)
{
if (m == v.first)
gv = v.second;
}
}