c - 是否可以在 GTK 中禁用、淡出或使对话框内的按钮不可点击?

标签 c button 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);

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

Spell Check Dialog

我想要做的是,如果正确单词列表为空,则禁用确定按钮。

当然,有一些解决方法,例如创建对话框:

  • 当列表不为空时,确定
  • 没有其他情况

尽管如此,我想知道是否可以禁用/淡出按钮以及如何禁用/淡出按钮。

最佳答案

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

void
gtk_widget_set_sensitive (GtkWidget *widget,
                          gboolean sensitive);

您也可以尝试直接设置它,例如myButton->Sensitive = false

关于c - 是否可以在 GTK 中禁用、淡出或使对话框内的按钮不可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30828358/

相关文章:

用glade编译一个简单的gtk程序

c - "/dev/ttyUSB0"在 Windows 中等效

c - 在 c 中使用带有 float 的 offsetof

c - 将库添加到 autotools 文件不起作用(链接器忽略它)

java - 如何在android中的按钮文本上添加阴影?

python - 从 GtkListBox 中移除非 GtkListBoxRow 父级

qt - Qt中有没有类似于GTK+的GtkSizeGroup的东西?

c - C语言去除字符串中的标点符号

c++ - 如何使 MFC 中的按钮根据单击前一个按钮执行不同的操作?

javascript - 在 iframe 中跟踪按钮点击