Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gtk 在对话框窗口中使用Glade时,如何为按钮添加响应_Gtk_Gtk3_Glade - Fatal编程技术网

Gtk 在对话框窗口中使用Glade时,如何为按钮添加响应

Gtk 在对话框窗口中使用Glade时,如何为按钮添加响应,gtk,gtk3,glade,Gtk,Gtk3,Glade,如何将对话框窗口的按钮(GtkDialog例如)与带有Glade的responseGtk::ResponseType值链接 我知道如何通过编程实现,但我无法找到如何使用Glade实现 简而言之,我必须使用GtkDialog创建ui文件,并在操作区域中使用两个按钮,例如ids按钮“ok”和按钮“cancel”。然后我编辑文件并添加以下行: <?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.20.0

如何将对话框窗口的按钮(
GtkDialog
例如)与带有Glade的response
Gtk::ResponseType
值链接

我知道如何通过编程实现,但我无法找到如何使用Glade实现

简而言之,我必须使用
GtkDialog
创建ui文件,并在操作区域中使用两个按钮,例如ids按钮“ok”和按钮“cancel”。然后我编辑文件并添加以下行:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkDialog" id="dialog1">
  <!-- the objects added by Glade -->

  <!-- What I need to add -->
  <action-widgets>
      <action-widget response="cancel">button_cancel</action-widget>
      <action-widget response="ok" default="true">button_ok</action-widget>
  </action-widgets>
  <!-- What I need to add -->

  </object>
</interface>

取消按钮
按钮(ok)

有没有办法通过Glade的界面做到这一点?

响应ID是按钮属性下的第二个选项。

即使有问题仍然存在(在我接受您的答案之前):为什么在GtkDialog文档中使用Response=“cancel”然而你只能在Glade中使用数字?看起来如果你使用GTK 3.14+你就可以了。是的,但这些昵称似乎无法通过Glade设置/使用,Glade只能将响应ID管理为整数。Hello@cedlemo,我意识到我真的很喜欢一种机制,类似于我在Glade中为我的小部件指定的任意名称,我可以稍后使用gtk builder访问,我可以为对话框响应指定任意名称,并在代码中测试这些名称,而不是我当前使用的那些模糊的int。自2016年以来,您是否找到了这样做的方法?谢谢