加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在GtkBuilder XML中的GtkDialog中使用预定义的响应ID?

发布时间:2020-12-16 23:29:14 所属栏目:百科 来源:网络整理
导读:有没有办法在GtkDialog中使用预定义的响应(例如,GTK_RESPONSE_OK),而无需对ID进行硬编码?默认情况下,Glade会在那里生成带“0”的 XML,并为我提供一个数字条目.虽然我想我可以进入-5,但这似乎打败了一个常数. Glade XML看起来像这样: action-widgets action
有没有办法在GtkDialog中使用预定义的响应(例如,GTK_RESPONSE_OK),而无需对ID进行硬编码?默认情况下,Glade会在那里生成带“0”的 XML,并为我提供一个数字条目.虽然我想我可以进入-5,但这似乎打败了一个常数.

Glade XML看起来像这样:

<action-widgets>
  <action-widget response="0">cancel-button</action-widget>
  <action-widget response="0">connect-button</action-widget>
</action-widgets>

甚至the example in the docs:

<action-widgets>
  <action-widget response="3">button_ok</action-widget>
  <action-widget response="-5">button_cancel</action-widget>
</action-widgets>

(这有点搞笑,因为他们使用-5(GTK_RESPONSE_OK)作为“button_cancel”……)

解决方法

从GTK 3.12开始,您可以使用nck-names作为响应.

commit baa471ec130c360a5c4ae314769bc7b858814219
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Mon Oct 28 11:19:43 2013 -0400

  gtkdialog: Allow specifying response IDs by nick in <action-widgets>

  This makes it a lot more convenient for developers,as they don't
  have to look up the numeric value of response IDs.

所以你现在可以做

<action-widgets>
  <action-widget response="ok">button_ok</action-widget>
  <action-widget response="cancel">button_cancel</action-widget>
</action-widgets>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读