是否可以在 GTK 中禁用、淡化或使对话框内的按钮不可单击?

Is it possible to disable, fade or make a button inside a dialog unclickable in GTK?

我有一个这样的对话框:

GtkWidget *dialog = gtk_dialog_new_with_buttons("Spell Checking", NULL, 0,
                                                GTK_STOCK_OK,
                                                GTK_RESPONSE_ACCEPT,
                                                GTK_STOCK_ADD,
                                                GTK_RESPONSE_APPLY,
                                                GTK_STOCK_CANCEL,
                                                GTK_RESPONSE_REJECT,
                                                NULL);

添加所有其他必要元素后,它将如下所示:

我想做的是在正确单词列表为空时禁用 OK 按钮。

当然,还有创建对话框等变通方法:

尽管如此,我想知道我是否可以 disable/fade 一个按钮以及如何。

GTK 小部件通常有一个 属性 Sensitive,当它设置为 false 时,小部件会变灰,即用户无法与其交互。有a function for that purpose

void
gtk_widget_set_sensitive (GtkWidget *widget,
                          gboolean sensitive);

也可以尝试直接设置,比如myButton->Sensitive = false.