是否可以在 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
按钮。
当然,还有创建对话框等变通方法:
- with
OK
when then list is not empty
- 无其他
尽管如此,我想知道我是否可以 disable/fade 一个按钮以及如何。
GTK 小部件通常有一个 属性 Sensitive
,当它设置为 false 时,小部件会变灰,即用户无法与其交互。有a function for that purpose
void
gtk_widget_set_sensitive (GtkWidget *widget,
gboolean sensitive);
也可以尝试直接设置,比如myButton->Sensitive = false
.
我有一个这样的对话框:
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
按钮。
当然,还有创建对话框等变通方法:
- with
OK
when then list is not empty - 无其他
尽管如此,我想知道我是否可以 disable/fade 一个按钮以及如何。
GTK 小部件通常有一个 属性 Sensitive
,当它设置为 false 时,小部件会变灰,即用户无法与其交互。有a function for that purpose
void
gtk_widget_set_sensitive (GtkWidget *widget,
gboolean sensitive);
也可以尝试直接设置,比如myButton->Sensitive = false
.