0

图片:http ://dl.dropbox.com/u/4900888/GUI.png 由于“新用户限制”,源和 UI 在评论中

如果我完全误解了这个网站的内容,我很抱歉,但我有一个问题。

当按下左下角的按钮时,我想从三个旋转框中获取值并将其保存为变量,以便在按钮触发的函数中使用。对于您将如何做到这一点,我真的很空白。任何帮助表示赞赏,如果需要,可以提供其他信息。

编辑:我通过 Glade 使用 Python 和 Gtk+。

PS:Stack Overflow 有没有 pastebin 之类的代码共享站点偏好?

4

1 回答 1

1

简短的回答是:使用旋转按钮的get_value_as_int()方法。

但是,我怀疑您的实际问题是引用要调用的旋转按钮get_value_as_int()。从您的代码中,我看到您正在使用它gtk.Builder来构建您的 UI。

访问小部件

Handler在实例中保留对特定小部件的引用:

    handler = Handler()
    builder = Gtk.Builder()
    ...
    # Store references to widgets in `handler`
    for widget_name in ('sbtn_days', 'sbtn_hours', 'sbtn_minutes'):
        setattr(handler, widget_name, builder.get_object(widget_name))
    # The above is equivalent to the following:
    handler.sbtn_days = builder.get_object('sbtn_days')
    ...

    # In signal handling code:
    days = self.sbtn_days.get_value_as_int()

或者您可以builder在您的Handler实例中保留参考:

    builder = Gtk.Builder()
    handler = Handler()
    handler.builder = builder
    ...

    # In signal handler code:
    sbtn_days = self.builder.get_object('sbtn_days')
    days = sbtn_days.get_value_as_int()

笔记

在上面的代码中,

  • 我假设您几天的旋转按钮被命名为sbtn_days。根据需要进行调整。
  • 我只展示了访问sbtn_days及其价值。其他按钮可以以类似的方式访问。

PS您的代码还有许多其他问题使其无法“好”。

于 2012-05-03T13:54:13.503 回答