簡體   English   中英

GTK中的系統模式對話框

[英]system modal dialog in GTK

我正在嘗試創建具有系統范圍的Modal屬性的GtkDialog,即,當打開對話框時,其他任何窗口都不應獲得焦點。 有一個選項可以使用GtkDialogFlag使其成為模態,但這不是系統范圍的模態。

這是一個非常可怕的想法,但是您可以為窗口覆蓋“焦點事件”處理程序,並將其調用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線程化,但是我認為這應該是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM