0
我正在嘗試使用全系統模態屬性創建GtkDialog,即當對話框打開時,沒有其他窗口應該獲得焦點。有一個選項可以使用GtkDialogFlag使它成爲模態,但這不是系統範圍的模態。GTK中的系統模式對話框
我正在嘗試使用全系統模態屬性創建GtkDialog,即當對話框打開時,沒有其他窗口應該獲得焦點。有一個選項可以使用GtkDialogFlag使它成爲模態,但這不是系統範圍的模態。GTK中的系統模式對話框
這是一個完全的可怕的的想法,但你可以覆蓋你的窗口的「焦點出事件」處理程序,並呼籲gtk_window_present
。
喜歡的東西gksu作用:
static gboolean focus_out_cb (GtkWidget *widget, GdkEventFocus *event, gpointer user_data) { gtk_window_present (GTK_WINDOW(widget)); return TRUE; } //in your initialization code for your window... /* make sure that our window will always have the focus */ g_signal_connect (G_OBJECT(mywindow), "focus-out-event", G_CALLBACK(focus_out_cb), NULL);
此希望有,如果你的應用程序確實凍結,聚焦出事件的信號可能不會被處理的好處。我不確定GTK如何進行UI線程化,但我認爲這應該是事實。
壞主意。如果您的應用程序凍結而無法使用系統監視器或終端來終止它,該怎麼辦?在他回答你的模態對話框之前,你的用戶*不能做任何其他事情是非常重要的嗎? – BoltClock 2010-09-02 19:20:43
實際上,我正在實現關閉和重新啓動的對話框。所以我需要該用戶不應該關注其他任何東西,除非回答對話。 – Durgesh 2010-09-03 07:29:18