我遇到以下問題:我創建了一個提示用戶輸入一些信息的程序。這是使用派生Gtk::Dialog
,用於像如下進行:gtkmm:窗口內的模態小部件
if (modal_dialog->run() == SUCCESS){
// do stuff depending on modal_dialog inputs here
}
現在,我想通過我的主窗口中顯示一個嵌入的小部件來代替對話,但行爲就像我的模態對話框。這意味着我想能夠打電話:
if (modal_widget->run == SUCSESS){
// hide modal widget and do stuff
}
在C++/gtkmm中,這很容易嗎?
注:我設法獲得所需的行爲用狀態變量等(感覺爲最終用戶相同的)。這意味着,我手動show
崇拜者模態窗口小部件,並在告訴確認按鈕想要通過模式部件來完成例程的其餘部分(上述if
-statements的主體)。但是,我使用相同的wannabe-modal小部件來執行不同的操作,所以我一直都會跟蹤自己在做什麼,這不是很優雅。
聽起來不錯。我會試一試! – phimuemue
是否有可能添加某種結果或返回值? – phimuemue
那麼,你需要'cliked'事件和'run'函數之間的某種共享數據,以獲得循環變量'loop'。只需爲該共享數據添加一個變量,將其設置爲您想返回的值,然後從'run'函數中返回。 – rodrigo