1

我正在使用 pygtk 制作问卷类型的应用程序,特别是我在一个方面苦苦挣扎。

我试着设计它,这样你就可以一次问一两个人。所以我有单选按钮,用户可以在第一个人或第二个人之间进行选择。我这样做的原因是我只需要使用一组gtk.Entry()小部件、gtk.ComboBox()小部件等。

因此,我目前设置的是“分配数据”方法,根据您询问的人,它将get_text()信息保存到特定变量。

我想知道当您使用单选按钮而不是一长串widget.set_text() = specific_variable

谢谢

4

1 回答 1

0

好吧,如果您命名了您的小部件(例如,在 GtkBuilder 文件中或手动),您可以执行以下操作:

widgets = [w for w in container_widget.get_children() if hasattr(w, "get_text")]
value_dict = {}

# save values to dictionary
for widget in widgets:
    value_dict[widget.get_name()] = widget.get_text()

# load values from dict
for widget in widgets:
    widget.set_text(value_dict[widget.get_name()])

如果小部件没有名称,您可以使用enumerate,但这有点脆弱。

于 2013-06-14T08:17:52.677 回答