我有一個使用Qt和多文檔界面的示例應用程序。在主窗口中,只要用戶激活此操作,就會在菜單欄中添加一些操作,例如保存當前文檔的操作。有一個文檔類必須被告知保存文檔。不幸的是,當前的文檔可能會改變(它是一個多文檔界面),因此使用信號插槽機制並不容易。我不知道應該將信號連接到哪個文檔實例。如何將信號連接到更換插槽
這裏的示例應用程序將信號連接到主窗口中的虛擬插槽,並且該插槽通過查詢當前文檔並調用該實例的相應方法,將請求重定向到文檔類中的相應方法。這導致了很多樣板代碼。
有沒有更好的方法來解決這個問題?
這裏是一些代碼行,使問題更加清晰:
主窗口:
connect(action, SIGNAL(activated()), this, SLOT(onSaveFile()));
void MainWindow::onSaveFile()
{
getCurrentDocument()->save();
}
文件:
void Document::save()
{
...
}
非常感謝您!
再見, 本傑明
我看到介紹。這是做這件事的標準方式嗎? – user2492801
我不知道它是否是標準方式,我從來沒有使用過mdi。我只知道這是一種可能性。 – MEeken