2013-12-10 80 views
0

我有一個相當長的代碼,所以我只會發布,如果有必要,但我會徹底解釋這個問題。停止功能循環,然後恢復它們

在我的主內我有2個主要功能分支,一個只在程序啓動時運行一次(用windows/overlays/mousecallbacks開始菜單排序)和一個循環,用相機,閾值,蒙版,旋轉,圖像處理和一些其他功能。問題是我想停止循環,用2個按鈕顯示一個暫停菜單,我將在其中爲「恢復」和「退出」按鈕添加mousecallback函數。退出相當容易,但簡歷不是。 好吧,好吧,我的問題。如何停止循環以打開新頁面,然後從該頁面恢復之前的循環?

在這個頁面裏我不需要循環內的任何函數,所以我猜測必須有一種方法來阻止它,然後使用鼠標輸入恢復它。

我正在使用C++與Opencv庫。

歡迎任何建議。

回答

1

在主循環中,調用在等待來自用戶的答案時阻止執行的功能。模態對話框可以用於此。

如果用戶想要退出,那麼阻塞函數會返回一個特殊的(可能是布爾值)值,可以檢查該值並退出循環。如果用戶想要恢復,那麼該函數會返回另一個值,並且您只需繼續循環。

+0

謝謝,我會試試看,看看它是否適合我。 –